我有一个包含几列的DataGridView,如何从整列中清除数据?
答案 0 :(得分:2)
只需循环行并清除单元格:
foreach (DataGridViewRow myRow in dataGridView1.Rows)
{
myRow.Cells[0].Value = null; // assuming you want to clear the first column
}
答案 1 :(得分:1)
嗯,我知道它已经有一段时间但是这就是我所做的...我只是将列复制到临时变量中,从datagridview中删除列,最后将临时列插入到datagridview中......这样,我不必遍历所有行...
类似的东西:
var tmp = dgv.Columns[3];
dgv.Columns.Remove(dgv.Columns[3]);
dgv.Columns.Insert(3, tmp);
我还编写了一个扩展代码,以便更容易阅读代码:
public static class Extensions
{
public static void ClearColumn(this DataGridView dgv, int columnIndex)
{
if (dgv.Columns != null && dgv.Columns.Count - 1 >= columnIndex)
{
var tmpCol = dgv.Columns[columnIndex];
dgv.Columns.Remove(dgv.Columns[columnIndex]);
dgv.Columns.Insert(columnIndex, tmpCol);
}
}
}
就这样使用它:
Datagridview1.ClearColumn(3);
答案 2 :(得分:0)
你的意思是
dataGridView1.Rows.Clear();
或
如果您使用的是BindingSource
bindingSource1.Clear();
或者如果您要清除DataGridView Columns
dataGridView1.Columns.Clear();
答案 3 :(得分:0)
你可以使用这样的东西。假设您要清除第0列。
var myColumn = myDataGridView.Columns[0];
for (int i = 0; i < myColumn.Cells.Count; i++)
column.Cells[i].Value = null;
答案 4 :(得分:-1)
清除特定列
dataGridView1.Rows[<ROW_INDEX>].Cells[<CELL_INDEX>].Value = null