如何清除整个datagridview列

时间:2013-02-22 23:52:16

标签: c# datagridview

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

5 个答案:

答案 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