起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 672|回复: 13

【结】报表排序问题[请求]

[复制链接]
发表于 2010-7-12 15:15:09 | 显示全部楼层 |阅读模式
报表,由一个透视表作为主表,一个数据表作为从表,关联字段为BH,希望报表根据BH的后4位进行排序。

在从表上做字段无用,在主表上做了临时字段,表达式字段均无用。

版本号 3.0.6.2621
回复

使用道具 举报

发表于 2010-7-12 15:51:36 | 显示全部楼层
1、从数据集的排序,需要不能直接在SQL中定义,需要在业务信息 的  数据集  的 排序 属性上设置,见附件图

2、不知道BH后4位是啥,如果是阿拉伯数字的话,需要像数字那样排序,那么需要用 一个 整数类型的 字段来做,字符型字段排序肯定有问题的

无标题.gif

19.09 KB, 下载次数: 181

回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-12 20:36:54 | 显示全部楼层
在主表和从表均定义了临时字段,字段的lookupdef属性均定义为BH的后4位(字符型,关键字段和显示字段均为BH的后4位),主表从表的数据集的order属性均定位为临时字段名。

不起作用。
回复 支持 反对

使用道具 举报

发表于 2010-7-13 10:50:26 | 显示全部楼层
字符型的排序和整数型(数字型)的排序是不一样的,如果有三条记录,值分别为1、2、11,如果是字符型的排序就是1、11、2。如果是整数或者数字型的排序就是1、2、11。

请楼主把现在的已经实现的效果图贴出来看看。
另外告知一下,你想实行啥样子的效果
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-13 14:08:54 | 显示全部楼层
我想要的是按后4位排序,s040,s041,...s058,s059

11.jpg

17.17 KB, 下载次数: 167

回复 支持 反对

使用道具 举报

发表于 2010-7-13 14:38:11 | 显示全部楼层
你是定义lookupdef属性,那就要看关键字填写的是啥了,因为排序不是以显示名称的,而是以关键字的。如果对临时字段把这个值(s040,s041,...s058,s059),在数据集的OnCalcFields 赋值,然后定义order排序就可以了,
取字段的显示名称方法,参考
http://bbs.justep.com/forum.php?mod=viewthread&tid=10545
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-14 14:59:58 | 显示全部楼层
关键字,显示字填的都是编号后4位,赋值时right字符串函数怎么不能用?
我用的

datasetxxx.fieldbyname('临时字段名').text:=right(rtrim('编号'),4)
回复 支持 反对

使用道具 举报

发表于 2010-7-14 16:34:27 | 显示全部楼层
参考代码:
var
  lstr:string;
begin
lstr:='12345qwer';
caption:=Business.System.StrUtils.RightStr(lstr,5);
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-14 20:32:02 | 显示全部楼层
运行时显示找不到编号字段? 编号字段也是主从表的链接关键字段

代码为:
   str1:=透视主表.FieldByName('编号字段名').AsString;
    透视表主表.FieldByName('临时字段名').AsString:=Business.System.StrUtils.RightStr(str1,4);
   透视表主表.Post;
   透视表主表.ApplyUpdates(false);

将 str1:=数据主表.FieldByName('编号字段名').AsString; 的透视主表换成数据从表也不行。

临时字段在透视主表上
回复 支持 反对

使用道具 举报

发表于 2010-7-15 10:11:27 | 显示全部楼层
透视数据集访问字段,不是直接访问物理字段的,参考
http://bbs.justep.com/forum.php?mod=viewthread&tid=6653  6楼
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 03:59 , Processed in 0.047572 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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