我有一个DataGridView,其中第一列是DataGridViewCheckBoxColumn。用户检查一些复选框以指示要删除的项目。
当我隐藏表单并重新加载它时,我需要DataGridView来记住检查了哪些复选框。
答案 0 :(得分:0)
您需要至少在关闭表单时保存更改(如果您只是隐藏它,为什么要重新加载?)。 我通常采用的方法是听Dgv的CellEndEdit事件:
SomeDataGridView.CellEndEdit += ObjectPropertyChanged
然后在回调中,您可以使用" DataBoundItem"来恢复对象。 Dgv的支柱和处理/保存但是你需要:
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)
}
您还可以进行数据库更新,写入文本文件,保存配置,...