找回密码
 立即注册

QQ登录

只需一步,快速开始

550712719

注册会员

2

主题

6

帖子

52

积分

注册会员

积分
52

微信认证勋章

  • 96

    金币

  • 2

    主题

  • 6

    帖子

最新发帖
550712719
注册会员   /  发表于:2018-11-30 20:35  /   查看:3370  /  回复:7
在设定了DataSource后,重写ICompare类使用.Sort进行排序时不排序。
或者是直接使用.Sort排序,默认为文字列排序,求大神解答。
拜托~~~

7 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2018-12-3 12:08:35
沙发
您好,您现在想要实现怎样需求或者功能,通过您的描述能太明白您的问题。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2018-12-3 16:35:08
板凳
JeffryLI 发表于 2018-12-3 12:08
您好,您现在想要实现怎样需求或者功能,通过您的描述能太明白您的问题。

我这边也遇到了这种问题。
就是Flexgrid直接绑定数据源DataTable
DataTable的一列是数值类型的。
但是如果给Grid排序的话,这一列的排序是按照文字进行排序的。
比如排序结果可能是下面的结果:1,10,11,12,2,20,3,4
但是我期望的结果应该是:1,2,3,4,10,11,12,20
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-12-3 17:25:12
地板
你好,我这边最新版本测试 2018v3 没有重现这个问题,你这边可以提供一个V2的demo吗?
  1.                 //创建表
  2.                         DataTable dt = new DataTable();

  3.                         //1、添加列
  4.                         dt.Columns.Add("Name", typeof(string)); //数据类型为 文本

  5.                         //2、通过列架构添加列
  6.                         DataColumn age = new DataColumn("Age", typeof(Int32));   //数据类型为 整形
  7.                         DataColumn Time = new DataColumn("Time", typeof(DateTime)); //数据类型为 时间
  8.                         dt.Columns.Add(age);
  9.                         dt.Columns.Add(Time);

  10.                         //3、添加数据行
  11.                         DataRow dr2 = dt.NewRow();
  12.                         dr2[0] = "张三"; //通过索引赋值
  13.                         dr2[1] = 23;
  14.                         dr2["Time"] = DateTime.Now;//通过名称赋值
  15.                         dt.Rows.Add(dr2);

  16.                         //4、通过行框架添加
  17.                         dt.Rows.Add("李四", 3, DateTime.Now);//Add你们参数的数据顺序要和dt中的列顺对应
  18.                         dt.Rows.Add("李四", 21, DateTime.Now);//Add你们参数的数据顺序要和dt中的列顺对应
  19.                         dt.Rows.Add("李四", 1, DateTime.Now);//Add你们参数的数据顺序要和dt中的列顺对应
  20.                         dt.Rows.Add("李四", 2, DateTime.Now);//Add你们参数的数据顺序要和dt中的列顺对应
  21.                         dt.Rows.Add("王二", 21, DateTime.Now);//Add你们参数的数据顺序要和dt中的列顺对应
  22.                         dt.Rows.Add("孙五", 34, DateTime.Now);//Add你们参数的数据顺序要和dt中的列顺对应

  23.                         _flex.DataSource = dt;
复制代码
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
550712719
注册会员   /  发表于:2018-12-3 20:35:17
5#
JeffryLI 发表于 2018-12-3 17:25
你好,我这边最新版本测试 2018v3 没有重现这个问题,你这边可以提供一个V2的demo吗?

datatable的列均为文字列,因为里面有很多空数据
目前我是不绑定datatable,直接赋值,然后重写sort的icompare是实现
回复 使用道具 举报
550712719
注册会员   /  发表于:2018-12-3 20:38:32
6#
550712719 发表于 2018-12-3 20:35
datatable的列均为文字列,因为里面有很多空数据
目前我是不绑定datatable,直接赋值,然后重写sort的ic ...

性能稍微慢一点
回复 使用道具 举报
550712719
注册会员   /  发表于:2018-12-3 20:40:05
7#
JeffryLI 发表于 2018-12-3 17:25
你好,我这边最新版本测试 2018v3 没有重现这个问题,你这边可以提供一个V2的demo吗?

我们compenentone的版本规定的是v2
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-12-4 09:34:18
8#
550712719 发表于 2018-12-3 20:40
我们compenentone的版本规定的是v2

v3马上就要发布了
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部