布尔数据列状态不可编辑

Boolean DataColumn state not editable

我正在从 SQL 数据读取器中填充数据table 然后..

我在我的数据中创建了一个值为 boolean(checkbox) 的数据列 table:

DataTable cDataTable= new DataTable();

DataColumn a = new DataColumn("Select", typeof(bool));

cDataTable.Columns.Add(a);

这会将复选框添加到每一行,但复选框不是 editable

此 DataTable 然后附加到 ASP GridView:

gridView.DataSource = cDataTable;

我试过了

a.ReadOnly = false;

但是这也不起作用..我一直在阅读,数据table可能在填充后不是 editable..

有没有办法让这个复选框编辑table?

我使用以下代码:

 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;
    }

下面是结果。 "a"列第6行为false

我意识到绑定到 gridviews 的值被设置为只读并且在 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)