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

しばらく時間が経っていることはわかっていますが、これが私が行ったことです..列を一時変数にコピーし、列をデータグリッドビューから削除し、最後に一時列をデータグリッドビューに挿入します...このようにして、私はしませんすべての行をループする必要はありません...

何かのようなもの:

 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 に答える
-2

特定の列をクリアするには

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