如何清除整个datagridview列

本文关键字:datagridview 清除 何清除 | 更新日期: 2023-09-27 18:00:33

我有一个包含几个列的DataGridView,如何从整个列中清除数据?

如何清除整个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