找回密码
 立即注册

QQ登录

只需一步,快速开始

xuxs

高级会员

50

主题

138

帖子

1086

积分

高级会员

积分
1086

活字格认证微信认证勋章

xuxs
高级会员   /  发表于:2016-1-5 10:20  /   查看:4090  /  回复:3
你好,我之前曾经提问过一个排序问题,由于后期客户修改了需求多列排序暂时没有做,而今又需要重新开启这个功能,需求和之前提问的是一样的
链接如下:
http://gcdn.gcpowertools.com.cn/showtopic-18115.html

根据回答我看了我这边的sample目录,目录中并没有 Documents\ComponentOne Samples\Studio for WinForms\C1FlexGrid\CS\CustomSort  这个目录
我这边的版本是2014V2,
不过我曾经问过单列自定义排序的问题 ,连接地址:http://gcdn.gcpowertools.com.cn/showtopic-15326.html  主要是自定义比较接口
目前多列排序好像没有提供自定义的比较接口,不知是否有什么好的解决方案
附件是我做的sample,其中readMe.txt中包含了我想实现的结果,运行之后直接点击按钮即可

本帖子中包含更多资源

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

x

3 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-1-5 14:21:00
沙发
回复 1楼xuxs的帖子

自定义排序就是从IComparer接口继承,写自己的排序逻辑。
示例我直接发给您参考:



Flexgrid提供了Sort的方法支持多列排序。

本帖子中包含更多资源

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

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

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
xuxs
高级会员   /  发表于:2016-1-7 08:47:00
板凳
我需要的多列自定义排序 需要考虑数字和字符串混合的列,如 数据 1,2,11,22,a,b,c排序后会变成1,11,2,22,a,b,c  目前针对单列排序我自己实现了ICompare接口可以做到数字和字符串混合的情况下排序正确,不过如果同时对多列排序时 FlexGrid并没有提供支持多列排序时带ICompare接口的方法。
另外,我发现例子中使用了自定义的数据类型和实现TypeConvert接口的自定义转换方式,这个也给我了一个启发是否针对没有设定DataType类型的列设置一个自定义的类型,然后对其进行比较,这个我会试一试。但是目前来看FlexGrid确实没有提供针对多列同时排序时允许自定义ICompare的接口。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-1-7 15:24:00
地板
回复 3楼xuxs的帖子

好的,谢谢您的反馈。
如果有什么新的发现欢迎反馈给我们。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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