0

我在文件后面的代码中动态创建了一个表:

这是我现在得到的输出的屏幕截图

创建这个表的代码是这样的:

protected void BindGridviewNew(Guid SubscriptionID)
    {
        pnlreapeter.Visible = true;
        gridviewnew.Visible = true;
        List<string> plannig = new List<string>();
        var s = m.bussinesCollection.BussinesPlanning.GetSingleSubVersionTrueFalse(SubscriptionID);
        if (s != null)
        {
            if (s.T1.Value)
            {
                plannig.Add("T1");
            }
            if (s.T2.Value)
            {
                plannig.Add("T2");
            }
            if (s.T3.Value)
            {
                plannig.Add("T3");
            }
            if (s.T4.Value)
            {
                plannig.Add("T4");
            }
            if (s.T5.Value)
            {
                plannig.Add("T5");
            }
            if (s.T6.Value)
            {
                plannig.Add("T6");
            }
            if (s.T7.Value)
            {
                plannig.Add("T7");
            }
            if (s.T8.Value)
            {
                plannig.Add("T8");
            }
            if (s.T9.Value)
            {
                plannig.Add("T9");
            }
            if (s.T10.Value)
            {
                plannig.Add("T10");
            }
        }
        DataTable PlanningDate = m.bussinesCollection.BussinesPlanning.GetRowOfPlanningDate(SubscriptionID);
        DataTable Percentage = m.bussinesCollection.BussinesPlanning.GetAllStudentsForProgressForDocentNew(SubscriptionID);
        DataTable dt = new DataTable();
        DataRow newrow;
        newrow = dt.NewRow();
        DataRow Hiddenfield;
        Hiddenfield = dt.NewRow();
        DataRow percentage;
        percentage = dt.NewRow();
        int count = plannig.Count;
        for (int j = 0; j < count; j++)
        {
            dt.Columns.Add(plannig[j], typeof(string));
            string pl = plannig[j];
            string c = pl.Substring(pl.Length - 1, 1);
            int x = Convert.ToInt32(c);           
            DataRow dr = PlanningDate.Rows[0];
            DateTime date = DateTime.Parse(dr[x-1].ToString());
            newrow[plannig[j]] = date.ToShortDateString();
            HiddenField hf = new HiddenField();
            Hiddenfield[plannig[j]] = x;
            DataRow dr1 = Percentage.Rows[0];
            LinkButton link = new LinkButton();
            link.Text = dr1[x].ToString();
            percentage[plannig[j]] = (System.Web.UI.WebControls.LinkButton) link;

        }
        dt.Rows.Add(newrow);
        dt.Rows.Add(percentage);
       // dt.Rows.Add(Hiddenfield);
        gridviewnew.DataSource = dt;
        gridviewnew.DataBind();
    }

这里的问题是,在屏幕截图中,我试图获取链接按钮,但列类型是字符串,因此它显示“System.Web.UI.WebControls.LinkBut​​ton”

我想要的表是这样的:

     T1    |    T2    |    T3
  3/01/2012| 3/03/2012| 3/05/2012
    100    |    50    |   -

单击 100 或 50 时应显示一个新的弹出窗口。

谁能帮我创建这一行..?

4

1 回答 1

0

您不能将 a 添加LinkButtonDataTable. 您应该做的是将 绑定DataTableGridView,然后使用链接按钮手动将新行添加到网格视图中,我猜在RowDataBound事件中,或者如果只有一行带有链接按钮,您可以添加网格视图的页脚。

检查此链接如何以编程方式在 GridView 中插入一行?

于 2012-12-31T12:29:53.297 回答