0
我试图将字段更改为GridView内的复选框。将字段更改为GridView中的复选框
我目前基于查询和部分要更改为复选框的列来动态创建网格列,以便用户可以选中/取消选中它。我知道我不能通过使用.aspx页面做到这一点,但我试图远离静态创建字段。
任何帮助将是伟大的。
我试图将字段更改为GridView内的复选框。将字段更改为GridView中的复选框
我目前基于查询和部分要更改为复选框的列来动态创建网格列,以便用户可以选中/取消选中它。我知道我不能通过使用.aspx页面做到这一点,但我试图远离静态创建字段。
任何帮助将是伟大的。
利用GridView的RowDataBound
事件。因此,您可以将任何控件添加到您的GridView。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chk1 = new CheckBox();
chk1.ID = "chkbox1";
e.Row.Cells[0].Controls.Add(chk1);
}
}
编辑的点评:
一旦从数据库中传递的值来GridView控件(超出范围了这个问题),您可以使用e.Row.Cells[i].Text
其中“i”是行访问值。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox txt1 = new TextBox();
txt1.Text = e.Row.Cells[0].Text;
e.Row.Cells[0].Controls.Add(txt1);
}
}
嘿感谢张贴...我只是有一个问题你怎么现在更改字段这就是已经被界定? – 2012-03-09 20:22:46
嗨,我没有得到你。你试过这个例子吗? – 2012-03-09 20:36:50
是的,它创建了一个额外的列作为复选框。我想要的是采取一个现有的列,并将其转换为复选框。目前我所拥有的是当我将数据绑定到表中时,我的数据库字段都是位,因此GridView显示由网格生成的复选框,但由于它们是只读的,因此我无法访问它们。 – 2012-03-09 20:42:03