找回密码
 立即注册

QQ登录

只需一步,快速开始

qqlww

注册会员

13

主题

57

帖子

144

积分

注册会员

积分
144

活字格认证

QQ
qqlww
注册会员   /  发表于:2014-6-26 09:16  /   查看:7015  /  回复:5
C1FlexGrid 绑定List对象,列头排序不出现,该怎么处理谢谢

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-6-26 10:52:00
沙发
回复 1楼qqlww的帖子

C1FlexGrid自带排序特性,它通过Data Provider 提供的数据缓存操作数据。但通过List绑定,排序功能无法使用。这点和微软自带的标准的DataGridView是一样的,给它绑定一个List,它自带的排序也是无法使用的。

现在有两种方法解决你的问题:
第一种,更改数据源。使用Access或是SQL数据源,这两种数据源本身支持排序功能。或是DataTable数据源。
第二种,需要自己写Code实现排序,这个就比较复杂。你需要继承BindingList,然后自己重载(ApplySortCore, RemoveSortCore, SupportsSortingCore, SortDirectionCore 等)方法。绑定后写和C1FlexGrid相关的代码显示排序指示器,代码如下所示:
  1. this.c1FlexGrid1.AfterSort += (s1, e1) =>  
  2. {   
  3. var flex = s1 as C1.Win.C1FlexGrid.C1FlexGrid;   
  4. flex.Invalidate();   
  5. flex.ShowSortAt(e1.Order, e1.Col);  
  6. };
复制代码

我们的产品博客有介绍如何对绑定的数据对象排序,供你参考http://blog.gcpowertools.com.cn/post/2013/03/14/C1FlexGrid-对绑定的数据对象排序.aspx
相关的例子也可以在附件获得。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
qqlww
注册会员   /  发表于:2014-6-26 10:59:00
板凳
谢谢。帮了大忙了。已经Code排序了,只是不知道在c1FlexGrid怎么使用。谢谢了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-6-26 14:42:00
地板
回复 3楼qqlww的帖子

这么说就差临门一脚了,能帮到你很开心。
如果有新问题欢迎开新帖继续交流。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
qqlww
注册会员   /  发表于:2014-6-26 20:45:00
5#
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-6-27 09:54:00
6#

评分

参与人数 1满意度 +5 收起 理由
qqlww + 5 很是感谢

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部