我正在以编程方式更新我的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;
}
答案 0 :(得分:0)
enable
是未绑定的列。这意味着您需要自己提供单元格值。
您可以将VirtualMode属性设置为true并处理CellValueNeeded事件 如果要让用户检查单元格,则需要处理CellValuePushed事件。 属于DataGridView FAQ的DataGridView示例具有未绑定复选框列的特定示例以及数据绑定列。
答案 1 :(得分:0)
对我来说,基本上最简单的方法就是使用数据源。 我已将列添加到DataTable并用数据填充它。 然后最后一件事.FunctionsDataGrid.DataSource = ds.Tables [0];