1

グリッドビューにコントロール ラベルを追加したいのですが、データテーブルで追加できますか? ここに私のコード:

 <asp:GridView ID="reportScheduleDetailsGridView" 
               runat="server" 
               AutoGenerateColumns="False">
 </asp:GridView>

タグhtmlスパンを使用しようとしましたが、レンダリングされません:

string queryString = @"SELECT * FROM [table1]";
SqlCommand cmd = new SqlCommand(queryString, connOkto);
using (SqlDataReader sdrMaster = cmd.ExecuteReader())
{
    while (sdrMaster.Read())
    {
        DataRow rows = dataTable.NewRow();
        rows[0] = sdrMaster["name"].ToString();
        for (var x = 1; x < maxCol; x++)
        {
            queryString = @"SELECT * FROM table2";
            cmd = new SqlCommand(queryString, connOkto);
            using (SqlDataReader sdrRev = cmd.ExecuteReader())
            {
                while (sdrRev.Read())
                {
                    blok = "<span></span>";
                    no = (int)Int16.Parse(sdrRev["no"].ToString());
                }
            }
            rows[x] = blok;
            if (no > 1)
            {
                no--;
            }
            else
            {
                blok = "";
            }

        }
        dataTable.Rows.Add(rows);
    } }

ラベルのように、グリッドビューにコントロールaspを追加する方法がわかりません。助けてください、ありがとう。

4

1 に答える 1

2

コントロールを追加する 1 つの方法はOnRowDataBound、GridView のイベントを使用することです。<ItemTemplate>グリッド ビュー内にプレースホルダーを追加し ます。

<asp:GridView ID="EmpGridView" OnRowDataBound="EmpGridView_RowDataBound"
     <ItemTemplate>
     <asp:PlaceHolder ID="placeholder1" runat="server"></asp:PlaceHolder>
     </ItemTemplate>
...></asp:GridView>

コード ビハインド ファイルの Ang には次のものが含まれます。

protected void EmpGridView_RowDataBound(object sender, GridViewRowEventArgs e)
  {
       if (e.Row.RowType == DataControlRowType.DataRow)
        { 
          // Create a label control  
          Label lbl = new Label();
          lbl.Text="MyDynamic Label";
          lbl.ID="lbl1"; // use ID values you prefer 

         // lets create one more control for example      
          LinkButton btnlink = new LinkButton();
          btnlink.Text = "Delete";
          btnlink.ID = "btnDelete";
          linkb.Click += new EventHandler(btnlink_Click);

        // add the controls to your placeholder inside <ItemTemplate>
        PlaceHolder phld = e.Row.FindControl("Placeholder1") as PlaceHolder;
        phld.Controls.Add(btnlink);
        phld.Controls.Add(lbl);

        //code to add the control to only a specific COLUMN/ Cell
        e.Row.Cells[1].Controls.Add(btnlink); // adding to 2nd Column
        // adding to last column..
        e.Row.Cells[EmpGridView.Columns.Count - 1].Controls.Add(btnlink);
            }
        }

テンプレートや GridView のセルにコントロールを追加するこのさまざまな方法が役立つことを願っています。

于 2013-09-04T04:15:53.220 に答える