起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 134|回复: 9

【揭帖】[请求]网格分组排序问题**

[复制链接]
发表于 2008-4-18 09:37:29 | 显示全部楼层 |阅读模式
设置数据集的代码如下:
with dsbMains.DataSet do
begin
   First;
   Group.KeyFieldNames := 'M_YEAR;M_ID;M_NAME;M_MONTH';
   Order := 'M_MONTH;INFO_ID';
  TYEAR_VALUE_CPLT_DOC2(DocView2.Doc).DataGridEdit.FullExpand;
end;
但是表现出来并没有按“月份M_MONTH”排序,其他的都正确。
如图所示:

分组排序.jpg

26.09 KB, 下载次数: 94

回复

使用道具 举报

发表于 2008-4-18 09:44:21 | 显示全部楼层
一般这种都要这样子写
SELECT A.ID, A.SPBH, A.SL
  FROM A order by [U]len(a.spbh),a.spbh[/U]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-18 12:16:39 | 显示全部楼层
我要用代码来控制数据集的分组和排序,不是在数据集里写SQL语句来排序。我在数据集中增加了Length(M_MONTH)  as  LenMon这一列,然后用代码控制排序Order := 'LenMon;M_MONTH;INFO_ID';  ,但是问题依旧如上图,M_MONTH的序列还是乱的
回复 支持 反对

使用道具 举报

发表于 2008-4-18 12:57:19 | 显示全部楼层
那你先不用代码而是直接在数据集上设置看看,是否可以呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-18 14:17:02 | 显示全部楼层
还是一样,乱的
回复 支持 反对

使用道具 举报

发表于 2008-4-18 14:39:58 | 显示全部楼层
你贴一下,你是怎么做的排序
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-22 10:31:08 | 显示全部楼层
见一楼,按月份、信息标识排序
回复 支持 反对

使用道具 举报

发表于 2008-4-22 11:18:34 | 显示全部楼层
可以考虑改变字段为数字,或者就让1--01
回复 支持 反对

使用道具 举报

发表于 2008-5-5 11:15:07 | 显示全部楼层
楼主,问题解决了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-7 10:44:35 | 显示全部楼层
OK,解决了,不用月份分组。改成:Group.KeyFieldNames := 'M_YEAR;M_ID;M_NAME;INFO_ID';
    Order := 'INFO_ID;M_MONTH';就好了。谢谢2位
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-11 23:45 , Processed in 0.043020 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表