解决表格记录复选组件ColumnHeaderCheckBox排序出现勾选混乱问题

  解决表格记录复选组件ColumnHeaderCheckBox排序出现勾选混乱问题


用户反馈的问题:

贴图图片-列头排序3


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


贴图图片-列头排序1



解决方案:


在表格组件(GridView)的排序事件(EndSorting)内还原清空已勾选的记录,代码如下:


C# Code:

private void gridView1_EndSorting(object sender, EventArgs e)
{
  _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



演示源码:


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





参考文章:


C#列复合勾选组件ColumnHeaderCheckBox





C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为CSFramework文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

解决表格记录组件ColumnHeaderCheckBox排序出现混乱问题
C#列复合组件ColumnHeaderCheckBox|C/S框架网
CSFramework企业版 - 增加表格框功能
C#通用窗体
C#通用窗体 (源码)
解决方案:扩展按钮自定义权限没有出现在权限树给用户
DevExpress GridView表格记录位置调整,实现DataRow记录排序
解决组件被遮挡的问题表格的滚动条不显示或隐藏)
当查询表格的列点了排序,新增记录后定位记录有误
弹出窗体多条记录自动添加到明细表
GridView表格中绑定LookupEdit单组件
Dev表格列的框无效,单元格不可编辑,Editable与ReadOnly区别
C# Winform的CheckListBox控件灰掉项目解决方案
C# TreeView组件TreeNode节点自动解决方案(TreeViewNodeCheckHander)
使用WCF连接池有效解决访问IIS承载的WCF出现SendTimeOut连接超时或IIS死机的问题
组件命名规范
开发技巧:弹出窗体并返回数据
GridView实现自定义按钮及中间插入记录排序功能
解决Winform背景图片闪烁的问题
C#.Net自定义控件 - CheckedListBoxEditor(支持多值及新增)