如何清除整个datagridview列
本文关键字:datagridview 清除 何清除 | 更新日期: 2023-09-27 18:00:33
我有一个包含几个列的DataGridView,如何从整个列中清除数据?
只需循环行并清除单元格:
foreach (DataGridViewRow myRow in dataGridView1.Rows)
{
myRow.Cells[0].Value = null; // assuming you want to clear the first column
}
我知道已经有一段时间了,但以下是我所做的。。我只是将该列复制到一个临时变量中,从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);
您可以使用这样的东西。假设您要清除列0。
var myColumn = myDataGridView.Columns[0];
for (int i = 0; i < myColumn.Cells.Count; i++)
column.Cells[i].Value = null;
你是说吗
dataGridView1.Rows.Clear();
或
如果您使用的是BindingSource
bindingSource1.Clear();
或者如果您想清除DataGridView Columns
dataGridView1.Columns.Clear();
清除特定列
dataGridView1.Rows[<ROW_INDEX>].Cells[<CELL_INDEX>].Value = null