立即更新DataGridViewCheckBoxCell

时间:2014-04-08 05:16:38

标签: winforms datagridview datagridviewcheckboxcell

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

问题,DataGridViewCheckBoxCell没有更新!!!

我是google,它就像了解情况一样,但我尝试过的任何事情都没有帮助。

 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;

    }

2 个答案:

答案 0 :(得分:0)

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

您可以将VirtualMode属性设置为true并处理CellValueNeeded事件 如果要让用户检查单元格,则需要处理CellValuePushed事件。 属于DataGridView FAQ的DataGridView示例具有未绑定复选框列的特定示例以及数据绑定列。

答案 1 :(得分:0)

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