DW表头要怎么做?

xiaoyu961121 2009-05-14 05:48:43
XXXXXXX报表
打印时间:XXXX-XX-XX
查询日期:XXXX-XX-XX 到 XXXX-XX-XX 第X/X页
编号:0000
---------------------------------------------
行号 编号 姓名 售价 金额
1 0000 XXX 1.00 1.00
2.00 2.00
3.00 3.00


DW中有下面那部分数据了,上面那部分表头是怎么做的啊?要能够打印出来。
[初学,请教,请写详细点,谢谢]
...全文
384 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
newease 2009-05-16
  • 打赏
  • 举报
回复
1、dw_1.modify("t_1.text='abc'")

dw_1.object.t_1.text='abc'
均可实现

2、有现成的打印预览模块,直接调用即可
wgq569 2009-05-15
  • 打赏
  • 举报
回复
顶!!!
newease 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaoyu961121 的回复:]
试了一下,
把遇到的以及想解决的几点问题,总结一下。
1、表头上面会有一些不需要的网格线;
2、要在表尾(不是页尾)加上“制单人”等文本信息要怎么做?
3、要将合计栏的数字转换成大写金额要怎么做?
非常感谢Newease的帮助。
[/Quote]

1、不需要网络线可以在属性栏中 grid →display 选择 off 或者放置text rectangle 遮挡住网格线

2、在summary footer处加入 text 通过 modify等方式赋值

3、大写金额按4楼的方法做


数据窗口最好的选择不是Grid而是tabular,页眉,页脚信息设置非常方便(表格线不是太美观最好手工画)
永生天地 2009-05-15
  • 打赏
  • 举报
回复
做成这样,你需要用freeform格式的dw,否则没法达到您要求的效果

[Quote=引用 3 楼 xiaoyu961121 的回复:]
试了一下,
把遇到的以及想解决的几点问题,总结一下。
1、表头上面会有一些不需要的网格线;
2、要在表尾(不是页尾)加上“制单人”等文本信息要怎么做?
3、要将合计栏的数字转换成大写金额要怎么做?
非常感谢Newease的帮助。
[/Quote]
singsongs 2009-05-15
  • 打赏
  • 举报
回复
放在footer区即可
cjhad1111 2009-05-15
  • 打赏
  • 举报
回复
你的DW是三纬交叉列表么,表头,如果有线,我的经验是放个TEXT控件,把线盖住.
cjhad1111 2009-05-15
  • 打赏
  • 举报
回复
合计转大写要写函数,直接在合计那调用函数就行
函数就是把小写转大写的代码.
/* 功能:将金额转换为大写
参数:je 类型DOUBLE
出口:人民币大写金额

函数返回值类型:STRING
*/

string upper_number[10]={"壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"}
string number_dw[13]={"圆","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万"}
string operate,upper_str
int i,j,point_pos,int_len

je = round(je,2)
if je=0 OR je=0.00 then
return "零圆整"
end if
upper_str=""
operate=string(round(abs(je),2))
point_pos=pos(operate,".")
if point_pos=0 then
int_len=len(operate)
else
int_len=point_pos - 1
end if
if abs(je)>0 then
for i=1 to int_len
j=int_len - i + 1
if i>1 AND mid(operate,i,1)="0" then
if mid(operate,i - 1,1)<>"0" AND number_dw[j]<>"万" AND number_dw[j]<>"亿" AND number_dw[j]<>"圆" then
upper_str=upper_str+"零"
elseif number_dw[j]="万" OR number_dw[j]="亿" OR number_dw[j]="圆" then
if right(upper_str,2)<>"零" then
if right(upper_str,2)<>"亿" AND right(upper_str,2)<>"万" then
if right(upper_str,2)="拾" AND number_dw[j]<>"圆" then
upper_str=upper_str+number_dw[j]+"零"
else
upper_str=upper_str+number_dw[j]
end if
end if
else
if (mid(upper_str,len(upper_str) - 3,2)<>"亿" AND mid(upper_str,len(upper_str) - 3,2)<>"万") OR number_dw[j]="圆" then
upper_str=left(upper_str,len(upper_str) - 2)+number_dw[j]
if number_dw[j]<>"圆" then
upper_str=upper_str+"零"
end if
end if
end if
end if
elseif i=1 and int_len=1 and mid(operate,i,1)='0' then
upper_str=""
else
upper_str=upper_str+upper_number[integer(mid(operate,i,1))]+number_dw[j]
end if
next
end if
if point_pos>0 then
if mid(operate,point_pos+1,1)<>"0" then
upper_str=upper_str+upper_number[integer(mid(operate,point_pos+1,1))]+"角"
if mid(operate,point_pos+2,1)<>"0" then
upper_str=upper_str+upper_number[integer(mid(operate,point_pos+2,1))]+"分"
end if
else
if mid(operate,point_pos+2,1)<>"0" then
if upper_str="" then
upper_str=upper_number[integer(mid(operate,point_pos+2,1))]+"分"
else
upper_str=upper_str+"零"+upper_number[integer(mid(operate,point_pos+2,1))]+"分"
end if
end if
end if
end if

if Right(Trim(upper_str),2)<>"分" then
upper_str=upper_str+"整"
end if
if je<0 then upper_str="(负)"+upper_str
return upper_str
xiaoyu961121 2009-05-15
  • 打赏
  • 举报
回复
还有两小个问题
1、Modify DW中的某个Text,具体是怎么用的?
2、打印预览DW,要怎么做?按打印后,提示选择打印机。
newease 2009-05-15
  • 打赏
  • 举报
回复
就是放在”合计“的位置上


newease 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xiaoyu961121 的回复:]
我放在了Summary和Footer中间,但它好像没有在表尾。
而且,我它好像是我还没有 retrieve 的时候,就已经显示出来了的。


我是想要类似这样的效果。
[/Quote]

不好意思,是我笔误,你放在summary上面,而不是Summary和Footer中间

xiaoyu961121 2009-05-15
  • 打赏
  • 举报
回复

xiaoyu961121 2009-05-15
  • 打赏
  • 举报
回复
啊呀,图片怎么又显示不了喽
xiaoyu961121 2009-05-15
  • 打赏
  • 举报
回复
我放在了Summary和Footer中间,但它好像没有在表尾。
而且,我它好像是我还没有 retrieve 的时候,就已经显示出来了的。


我是想要类似这样的效果。
newease 2009-05-15
  • 打赏
  • 举报
回复
表尾放在 Footer就是表尾

Footer 在数据窗口对象的页脚带 数据窗口细目带中最后一个可见行的行号


Summary 在数据窗口对象的汇总带中 汇总带前最后一行的行
xiaoyu961121 2009-05-15
  • 打赏
  • 举报
回复
放在Summary Footer区,它会显示在页尾啊,不是表尾。
xiaoyu961121 2009-05-14
  • 打赏
  • 举报
回复
试了一下,
把遇到的以及想解决的几点问题,总结一下。
1、表头上面会有一些不需要的网格线;
2、要在表尾(不是页尾)加上“制单人”等文本信息要怎么做?
3、要将合计栏的数字转换成大写金额要怎么做?
非常感谢Newease的帮助。
newease 2009-05-14
  • 打赏
  • 举报
回复
已经下班了,给你做个简单的图示,如果不能解决明天给你做个更详细的

xiaoyu961121 2009-05-14
  • 打赏
  • 举报
回复
问题补充:要在表尾(不是页尾)加上“制单人”等文本信息要怎么做?

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧