我从SQL datareader填充数据表然后..
我在数据表中创建了一个值为boolean(checkbox)的数据列:
DataTable cDataTable= new DataTable();
DataColumn a = new DataColumn("Select", typeof(bool));
cDataTable.Columns.Add(a);
这会添加每行的复选框,但复选框不可编辑
然后将此DataTable附加到ASP GridView:
gridView.DataSource = cDataTable;
我已经尝试了
a.ReadOnly = false;
然而,这也不起作用..我一直在阅读,并且可能的数据表在被填满之后无法编辑..
有没有办法让这个复选框可编辑?
答案 0 :(得分:1)
我意识到绑定到gridviews的值设置为ReadOnly并且在c#中无法编辑
我设法在gridview
中的模板字段内创建一个ASP复选框<columns>
<asp:templatefield>
<itemtemplate>
<asp:checkbox id="CheckBox1" runat="server" checked='false' AutoPostBack="true"/>
</itemtemplate>
</asp:templatefield>
</columns>
然后我可以通过
获取此值(row.Cells[0].FindControl("CheckBox1") as System.Web.UI.WebControls.CheckBox).Checked)
答案 1 :(得分:0)
我使用以下代码:
private void button1_Click(object sender, EventArgs e)
{
DataTable cDataTable = new DataTable();
DataColumn a = new DataColumn("Select", typeof(bool));
cDataTable.Columns.Add(a);
for (int i = 0; i < 100; i++)
{
cDataTable.Rows.Add(true);
}
cDataTable.Rows[5][a] = false;
dataGridView1.DataSource = cDataTable;
}
中的第六行为false