2016年3月30日 星期三

DataGridView 無法清除這個清單

清除DataGridView內容,執行時發生錯誤,
例外狀況顯示無法清除這個清單。

網路上資料說明,因為DataGridView已經和DataSource繫結,便無法使用Clear()方式刪除。




程式範例

 // ***錯誤狀況***

dgv.Rows.Clear(); // 清除DataGridView列
dgv.Columns.Clear(); // 清除DataGridView行



 // ***解決方法***

// 清除DataGridView列
private static void ClearRow(DataGridView dgv,string index)
{
        DataGridViewRow row = dgv.Rows[index]; // index為列數索引
        if (row != null// 避免索引不存在執行Remove()產生錯誤
                dgv.Rows.Remove(row );
}

// 清除DataGridView行
private static void ClearColumn(DataGridView dgv,string key)
{
        DataGridViewColumn col = dgv.Columns[key]; // key為欄位名稱
        if (col != null) // 避免欄位不存在執行Remove()產生錯誤
                dgv.Columns.Remove(col);
}

參考資料

C# DataGridView删除指定行 - ^懒洋洋^ - 博客园

1 則留言:

  1. 我也是遇到同樣的錯誤訊息。因為DataGridView已經和DataSource繫結,清除DataSource就等於是清除DataGridView.所以全部清除的指令就是:DataSource.Clear()

    回覆刪除