如何制作完全由用户定义的自定义GridView

时间:2012-08-28 16:52:26

标签: c# asp.net gridview

enter image description here

我有GridView: 在Button_Click上 我希望我的GridView的第一列包含ListBox1和第二列的项目,其中包含EDIT链接,而第3列位于病房,我希望标题为ListBox2的项目。

到目前为止,我可以在第2列和第3列中实现编辑链接,使用GridViewListBox2项目的标题。

现在我希望ListBox1个项目作为GridView的第一列。我附上了一张图片,上面展示了我到底想要了什么以及到目前为止所取得的成就。

请帮助我。谢谢。

我设计的.cs代码是:

DataTable dt = new DataTable();
        DataRow rw = default(DataRow);
        for (int i = 0; i < ListBox3.Items.Count; i++)
        {  dt.Columns.Add(ListBox3.Items[i].ToString(),System.Type.GetType("System.String"));
        }

        for (int j = 0; j < count; j++)
        {
            rw = dt.NewRow();
            for (int i = 0; i < ListBox3.Items.Count; i++)
            {
                rw[ListBox3.Items[i].ToString()] = " ";
            }
            dt.Rows.Add(rw);
        }
        GridView2.DataSource = dt;
        GridView2.DataBind();

GridView的asp代码是:

<Columns>
            <asp:TemplateField HeaderText="Locations">
                <ItemTemplate>
                    <asp:Label ID="Lab1" runat="server"></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:CommandField ShowEditButton="True" />
            </Columns>

1 个答案:

答案 0 :(得分:2)

首先创建gridview_RowDataBound的事件 并更改标签的价值

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
 if (e.Row.RowType == DataControlRowType.DataRow)
    {

      Label lbl1= ((Label)e.Row.FindControl("Lab1"));
      lbl1.text = ListBox1.items[e.Row.RowIndex].ToString();
    }


}