我正在尝试将字段更改为GridView内的Checkbox。
我目前基于查询和我想要更改为复选框的某些列动态创建网格列,以便用户可以选中/取消选中它。我知道我不能通过.aspx页面使用,但我试图远离静态创建字段。
任何帮助都会很棒。
答案 0 :(得分:0)
利用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);
}
}