我在Winform中有一个dataGridView,我在datagrid中添加了一个列,其中的复选框使用了我在此处看到的代码:
DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
{
column.HeaderText = "Export";
column.Name = "Export";
column.AutoSizeMode =
DataGridViewAutoSizeColumnMode.DisplayedCells;
column.FlatStyle = FlatStyle.Standard;
column.CellTemplate = new DataGridViewCheckBoxCell(false);
column.CellTemplate.Style.BackColor = Color.White;
}
gStudyTable.Columns.Insert(0, column);
这有效但我希望检查checkBox作为我添加的默认锯:
foreach (DataGridViewRow row in gStudyTable.Rows)
{
row.Cells[0].Value = true;
}
但仍未选中复选框col。我正在使用一个集合作为我的数据源,并在添加数据源后更改了col的值。
答案 0 :(得分:10)
我认为无法在列声明中设置选中的值。你将会有 在设置数据源之后检查行检查它(例如在DataBindingComplete事件中):
for (int i = 0; i < dataGridView1.Rows.Count -1; i++)
{
dataGridView1.Rows[i].Cells[0].Value = true;
}
使用列名:
for (int i = 0; i < dataGridView1.Rows.Count -1; i++)
{
dataGridView1.Rows[i].Cells["Export"].Value = true;
}
答案 1 :(得分:3)
尝试这样做:
foreach (DataGridViewRow row in dgv.Rows)
{
row.Cells[CheckBoxColumn.Name].Value = true;
}
答案 2 :(得分:1)
确保在设置DataGridViewCheckBoxCells的值时显示DataGridView:我在TabControl的第二个选项卡中拥有我的名字,并且初始化后始终未选中这些单元格。为了解决这个问题,我不得不将单元格初始化移到TabControl的SelectedIndexChanged事件中。
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.tabControl1.SelectedIndex == 1)
{
foreach (DataGridViewRow row in this.myGridView.Rows)
{
((DataGridViewCheckBoxCell)row.Cells[0]).Value = true;
}
}
}
答案 3 :(得分:0)
您可以在datagridview中使用datatable并创建列,然后添加行,为每行提供第一列值为“True”或“False”。
试试这个
答案 4 :(得分:0)
if((bool)this.dataGridView2.Rows [i] .Cells [0] .FormattedValue == true)
答案 5 :(得分:0)
在加载网格中的值期间或之后,检查网格中的值是否使用此代码并设置网格列的属性
foreach (DataGridViewRow row in dataGridView.Rows)
{
row.Cells[0].Value = 1;
}
答案 6 :(得分:-2)
一种简单的方法是使用属性NewRowIndex
,如下所示:
dvgInvoiceItems.Rows[dvgInvoiceItems.NewRowIndex-1].Cells[5].Value = true;
dvgInvoiceItems.Rows[dvgInvoiceItems.NewRowIndex-1].Cells[6].Value = true;