0

我正在以编程方式更新我的 WinForm DataGridView

问题,DataGridViewCheckBoxCell 没有更新!!!

我是谷歌,它看起来像是知道案例,但无论我尝试过什么都没有帮助。

 private void InitializeFunctionsDataGrid()
    {


        System.Data.DataSet ds = func.GetFunctions();



        this.FunctionsDataGrid.DataSource = ds.Tables[0];
        this.FunctionsDataGrid.Columns["FunctionId"].Visible = false;
        this.FunctionsDataGrid.Columns["DESCRIPTION"].Width = 370;


         DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
            column.Name = "enable";
            column.HeaderText = "enable";
            column.FalseValue = 0;
            column.TrueValue = 1;
            FunctionsDataGrid.Columns.Add(column);



        foreach(DataGridViewRow row in FunctionsDataGrid.Rows)
        {

                 (( DataGridViewCheckBoxCell)row.Cells["enable"]).Value = 1;

        }

       FunctionsDataGrid.CurrentCell = null;

    }
4

2 回答 2

0

enable是一个未绑定的列。这意味着您需要自己提供单元格值。

您可以将VirtualMode属性设置为 true 并处理CellValueNeeded事件。
如果您想让用户检查一个单元格,那么您需要处理CellValuePushed事件。作为 DataGridView 常见问题解答一部分的DataGridView示例具有未绑定复选框列以及数据绑定列的特定示例。

于 2014-04-08T05:57:08.303 回答
0

好的,对我来说基本上最简单的方法是使用数据源。我已将该列添加到 DataTable 并用数据填充它。然后最后一件事 this.FunctionsDataGrid.DataSource = ds.Tables[0];

于 2014-04-08T23:43:37.123 回答