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();
    }

ここでの問題は、スクリーンショットのようにlink-buttondを取得しようとしていますが、列のタイプが文字列であるため、「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

LinkButtonに を追加することはできませんDataTable。あなたがすべきことは、 を にバインドDataTableGridView、リンク ボタンを使用してグリッド ビューに新しい行を手動で追加することRowDataBoundです。グリッド ビューへのフッター。

このリンクを確認してくださいGridViewに行をプログラムで挿入する方法?

于 2012-12-31T12:29:53.297 に答える