2017-07-06 90 views
-1

我有一個DataGridView第一列是DataGridViewCheckBoxColumn。用戶檢查一些複選框以指示哪些項目將被刪除。還記得在DataGridView檢查複選框

當我隱藏表單並重新加載它時,我需要DataGridView來記住檢查了哪些複選框。

+0

您需要保存您的複選框列狀態的靜態列表 –

+0

歡迎SO!請查看以下文章並適當更新問題: https://stackoverflow.com/help/how-to-ask – garfbradaz

回答

0

您需要至少在關閉窗體的位置保存更改(如果您只是隱藏它,爲什麼要重新載入呢?)。 我平時工作這一點的方式是聽DGV的CellEndEdit事件:

SomeDataGridView.CellEndEdit += ObjectPropertyChanged 

然後回調,您可以通過使用DGV和過程的「DataBoundItem」道具獲得對象返回/保存它,但是你需要:

protected virtual void ObjectPropertyChanged(object sender, DataGridViewVellEventArgs e) 
{ 
    var selectedObject = ((DataGridView)sender).Rows[e.RowIndex].DataBoundItem; 
    //Assuming you stored in a List and each Object has an ID as prop: 
    var indx = _Objects.IndexOf(_Objects.Where(o => o.ID.Equals(selectedObject.ID))) 
    _Objects.Remove(indx) 
    _Objects.Insert(indx, selectedObject) 
} 

你也可以做數據庫更新,寫入一個文本文件,保存在配置上,...