Boolean DataColumn状态不可编辑

时间:2017-12-19 10:17:12

标签: c# asp.net datatable boolean datacolumn

我从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;

然而,这也不起作用..我一直在阅读,并且可能的数据表在被填满之后无法编辑..

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

2 个答案:

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

以下是结果。 “a”列enter image description here

中的第六行为false