C#datagridview中checkbox在刷新datagridview的数据源后仍为选中状态

.Net技术 码拜 8年前 (2016-09-16) 2233次浏览
c#的datagridview中第一列设置为checkbox,选中多项后进行刷新datagridview绑定的数据源,怎么使得之前选中的在刷新之后仍为选中?
解决方案

20

引用:

可以建个dictionary,以能识别行的列值为Key,以选中与否为value,每次更新和之前的比较,去除现在没有的,加上原来没有的,设置现在与之前得Value不同的

本人也是这个方法,不用担心性能

30

dic.Clear();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    string key = row.Cells["ID"].Value.ToString();
    dic.Add(key, (bool)row.Cells[0].Value);
}
//todo:RefreshData
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    string key = row.Cells["ID"].Value.ToString();
    if (dic.ContainsKey(key))
    {
        row.Cells[0].Value = dic[key];
    }
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#datagridview中checkbox在刷新datagridview的数据源后仍为选中状态
喜欢 (1)
[1034331897@qq.com]
分享 (0)