2

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

4

5 回答 5

2

只需循环行并清除单元格:

foreach (DataGridViewRow myRow in dataGridView1.Rows) 
{
    myRow.Cells[0].Value = null; // assuming you want to clear the first column
}
于 2013-02-22T23:55:00.403 回答
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);
于 2013-06-20T18:16:50.797 回答
0

你可以使用这样的东西。假设您要清除第 0 列。

var myColumn = myDataGridView.Columns[0];

for (int i = 0; i < myColumn.Cells.Count; i++)
  column.Cells[i].Value = null;
于 2016-10-27T21:02:04.267 回答
-1

你的意思

dataGridView1.Rows.Clear();

或者

如果您使用的是BindingSource

bindingSource1.Clear();

或者如果你想清除你的DataGridView Columns

dataGridView1.Columns.Clear();
于 2013-02-23T00:19:39.787 回答
-2

清除特定列

dataGridView1.Rows[<ROW_INDEX>].Cells[<CELL_INDEX>].Value = null
于 2013-02-23T00:14:13.480 回答