report machine报表显示的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 xgwzw
  • 开始时间 开始时间
X

xgwzw

Unregistered / Unconfirmed
GUEST, unregistred user!
1谁用过report machine 如果数据表中的数据是0 显示A
是1,显示B 在degrideh里面很好实现的(下拉列表),在报表中如何才能显示出AB而不是1,2呢?
2 rm的demo上的simple list 例子上面,隔行数据有文字背景是灰色的,怎么设置的啊
3 关于rm 脚本应用的例子,比如自定义函数等,谁举一个例子,谢谢!
 
报表中还能下拉吗?
1、直接用变量就可以了;
2、选中文本框,点击工具栏的“条件高亮”
输入“[_RM_Line mod 2 =1]”为条件,设置颜色,即可;
 
to 清新空气
怎么用变量啊,举个例子看一下啊!谢谢!
 
在数据字典中设置变量;
你一看例子就知道了;不是一两句说得清的;
能直接举例子的我就直接说了;
如果例子还看不懂,你就不要做打印了;基本上没有做开发的潜力;
 
我就是不知道哪个例子有上面的应用啊!demo上面没有这样的例子,才问的啊!
 
晕!都有呀!
要不我怎么学会的?dfw里基本上没有rm的讨论;我以前也查过;
 
其实rm这个报表控件,并不是很好;
行高不能以最小行高显示,速度慢,财务方面的打印也不能直接实现,用户修改也麻烦;
 
在dbgrid实现时,可以用qry的字段的getxtxt事件
比如下面有sender,text参数,可是在rm是怎么实现的呢,什么事件呢?
procedure TForm1.qry3waysGetText(Sender: TField;
var Text: String;
DisplayText: Boolean);
begin
case Sender.AsInteger of
0:Text:='A';
1:Text:='B';
2:Text:='C';
end;
end;
 
To:清新空气
您能不能帮着推荐一款比较好的报表控件?
 
第二个问题:
主项数据band上,有个隐藏的memo12,看看它的hignlight 属性。
关于rm 脚本应用的例子:
在rmDemo演示程序中, using Script 下的text Output 演示的很清楚,你的第一个问题也可以照着这个例子做
 
问题是 第一个问题的的A,B非数据库的来源,而是自己定义的列表
 
在dbgrid实现时,可以用qry的字段的getxtxt事件
比如下面有sender,text参数,可是在rm是怎么实现的呢,什么事件呢?
procedure TForm1.qry3waysGetText(Sender: TField;
var Text: String;
DisplayText: Boolean);
begin
case Sender.AsInteger of
0:Text:='A';
1:Text:='B';
2:Text:='C';
end;
end;

真是不知道你问的是什么?你想在报表的某个文本框内显示一个指定的字符串啥?
是不是这句话?说那么复杂;
用数据字典,不是跟你说过了吗?
 
【精华】 一些迅雷下载合集!
http://74.53.87.91/viewthread.php?tid=84105&fromuid=1211598
 
不是啊,你没有清楚我的意思,比如数据库某一个字段的数据有0,1,2,3
而我的报表打印的时候显示的是a,b,c,d等,字段的值变化,报表显示也的变化,
如果该字段只有一个值用一个变量是可以完成,可是是变化的,我在什么地方写这些判断0显示a,1 显示b的脚步呢?不知到我再说清楚了没有,不好意思,让你没看清楚,还请大侠再指导,谢谢!
create table test(fd1 int,fd2 int)
fd2的字段值是包括0,1,2 等等几个枚举的值,但是显示报表数据的时候,出现0,就改为a,象在dbgrid表格中一样,数据库,其实是0,但是她的数据显示a,我现在就是要怎么显示这个对应0,1,2的数据呢?
 
就是定义数据字典
好象是在GetValue事件里吧
用case of就可以了;
 
这个问题可以直接用sql语句来解决,跟报表没关系

select case 字段 when '1' then
'A' end case as 新字段
 
TO:siaosa
“To:清新空气
您能不能帮着推荐一款比较好的报表控件?”
推荐:GRID++REPORT 试用一下, 下载:http://www.rubylong.cn
 
如何自定义函数呢
如何将定义的函数,能象变量一样存储在数据字典里呢?
 
你在 GetValue 事件下寫。
procedure Trmd.printfrsGetValue(const VarName: String;
var Value: Variant);
var
strKey: string;
begin
if cds.fieldbynaem('field').asstring = '0' then
strKey:= 'A'
else
if cds.fieldbynaem('field').asstring = '1' then
strKey:= 'B'
else
if cds.fieldbynaem('field').asstring = '2' then
strKey:= 'C'
else
if cds.fieldbynaem('field').asstring = '3' then
strKey:= 'D'
if varName = 'prt_title' then
// prt_title是你在report裏定義的變量
value := strKey;
end;
 
你最好用 fastReport 吧。
 
后退
顶部