解决表格记录复选组件ColumnHeaderCheckBox排序出现勾选混乱问题
解决表格记录复选组件ColumnHeaderCheckBox排序出现勾选混乱问题用户反馈的问题:

原因: 点击表格列头进行排序或过滤记录会出现已勾选的记录顺序混乱。

解决方案:
在表格组件(GridView)的排序事件(EndSorting)内还原清空已勾选的记录,代码如下:
C# Code:
private void gridView1_EndSorting(object sender, EventArgs e)
{
_checkColumn.ClearSelection();
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
{
_checkColumn.ClearSelection();
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
ColumnHeaderCheckBox 组件的ClearSelection方法:
C# Code:
public void ClearSelection()
{
_Selection.Clear();
_CheckedRows.Clear();
Invalidate();
}
private void Invalidate()
{
View.BeginUpdate();
View.EndUpdate();
//View.Invalidate();
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
{
_Selection.Clear();
_CheckedRows.Clear();
Invalidate();
}
private void Invalidate()
{
View.BeginUpdate();
View.EndUpdate();
//View.Invalidate();
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
演示源码:
C# Code:
public partial class Form1 : Form
{
ColumnHeaderCheckBox _checkColumn;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Rows.Add(100, "test111");
dt.Rows.Add(200, "test222");
dt.Rows.Add(201, "test220002");
dt.Rows.Add(300, "test333");
dt.AcceptChanges();
gridControl1.DataSource = dt;
_checkColumn = new ColumnHeaderCheckBox(gridView1, gridColumn3);
}
private void gridView1_EndSorting(object sender, EventArgs e)
{
_checkColumn.ClearSelection();
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
{
ColumnHeaderCheckBox _checkColumn;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Rows.Add(100, "test111");
dt.Rows.Add(200, "test222");
dt.Rows.Add(201, "test220002");
dt.Rows.Add(300, "test333");
dt.AcceptChanges();
gridControl1.DataSource = dt;
_checkColumn = new ColumnHeaderCheckBox(gridView1, gridColumn3);
}
private void gridView1_EndSorting(object sender, EventArgs e)
{
_checkColumn.ClearSelection();
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
参考文章:
C#列复合勾选组件ColumnHeaderCheckBox

参考文档:
C#列复合勾选组件ColumnHeaderCheckBox|C/S框架网
C#多线程异步处理数据通用界面窗体(frmThreadOperating)
C#异步操作等待窗体,异步多线程处理数据通用界面(frmThreadOperating)
VS表达式包含未定义的函数调用IsNullOrEmpty|C/S框架网
CSFramework企业版 - 增加表格复选框功能
C#列复合勾选组件ColumnHeaderCheckBox|C/S框架网
C#多线程异步处理数据通用界面窗体(frmThreadOperating)
C#异步操作等待窗体,异步多线程处理数据通用界面(frmThreadOperating)
VS表达式包含未定义的函数调用IsNullOrEmpty|C/S框架网
CSFramework企业版 - 增加表格复选框功能
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
