社区
DataWindow
帖子详情
-->请教crosstab高手,如何给crosstab加title啊????
sunyi982
2003-07-30 05:14:10
因为不能拖拉控件,所以不能像grid表一样用text控件拉长盖住格子
请教高手如何加标题啊!!??急!
...全文
72
15
打赏
收藏
-->请教crosstab高手,如何给crosstab加title啊????
因为不能拖拉控件,所以不能像grid表一样用text控件拉长盖住格子 请教高手如何加标题啊!!??急!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunyi982
2003-08-24
打赏
举报
回复
谢谢,解决了,提供正确解答的每人50,再次感谢
eastpond
2003-08-06
打赏
举报
回复
晕,你们所说的edit source在哪呀?右键没有这个菜单呀?
你们是什么版本?
我的是正版的pb8.0.2 builder 9506
eastpond
2003-08-06
打赏
举报
回复
斑竹大人果然厉害
cherrymas
2003-08-06
打赏
举报
回复
在标题处加一文本框,将此文本框的属性中的position选项中的layer改为Foreground,Font选项中的Background设为非Transparent即可。(我说的方法绝对可行,因为我刚这样做的,但希望您成功后结贴,因为我的分数已经不多了)
cherrymas
2003-08-06
打赏
举报
回复
在标题处加一文本框,将此文本框的属性中的position选项中的layer改为Foreground,Font选项中的Background设为非Transparent即可。(我说的方法绝对可行,因为我刚这样做的,但希望您成功后结贴,因为我的分数已经不多了)
zhanwei
2003-08-06
打赏
举报
回复
把TEXT的LAYER改成FOREGROUND,底色改成非透明颜色,然后拉长盖住格线,在RETRIEVEEND事件中改变TEXT的长度即可。
//RETRIEVEEND EVENT
String ls_rc
long ll_width,ll_x1,ll_height,ll_y1
dw_1.setredraw(false)
dw_1.Retrieve(ls_Date)
dw_1.Modify("DataWindow.Crosstab.StaticMode=Yes")
ls_rc = dw_1.Object.DataWindow.Column.Count
ll_width =long(dw_1.Describe("#"+ls_rc+".x")) +long(dw_1.Describe("#"+ls_rc+".width")) - 2 * ll_x1 + long(dw_1.Describe("grand_sum_yxassaybill_coalweight.width"))
//标题的宽度,加上了行合计的偏移调整
ll_y1 = 10
ll_height = long(dw_1.Describe("DataWindow.Header.Height")) - ll_y1
//高度
//r_title为盖格线的矩形不透明,直接用TEXT也可以
dw_1.Modify("r_title.Height = '"+string(ll_height)+ "'")
dw_1.Modify("r_title.width = '"+string(ll_width)+ "'")
//title报表标题TEXT
dw_1.Modify("title.width = '"+string(ll_width)+ "'")
//datearrange打印时间调整
dw_1.Modify("datearrange.width = '"+string(ll_width)+ "'")
//标题内容调整
dw_1.object.title.text = '报表标题'
dw_1.Modify("DataWindow.Crosstab.StaticMode= NO")
dw_1.setredraw(true)
sunyi982
2003-08-06
打赏
举报
回复
这样我也试过,想先改processing=0,调整好再改4
但是改回4后会发现报错,然后强行把调整好的text压进格子里~~
qdzhanglian
2003-08-02
打赏
举报
回复
将text控件拉长(左右与最边缘的控件边框对齐),再将processing改回原值4.(可用左右空格控制标题位置).试一试
sunyi982
2003-08-01
打赏
举报
回复
顶
rogery
2003-07-31
打赏
举报
回复
帮楼主Up一下
http://expert.csdn.net/Expert/topic/2090/2090357.xml?temp=.7275202
pbtech
2003-07-31
打赏
举报
回复
用二楼的方法
sunyi982
2003-07-31
打赏
举报
回复
qdzhanglian(crystal) :
你的办法是可以去掉网格,但是我只要一个headder的网格去掉就可以了,下面的网格还是需要的啊
wooaoo
2003-07-30
打赏
举报
回复
up
qdzhanglian
2003-07-30
打赏
举报
回复
可以将网格去掉再加标题.
步骤:
1.在dw对象的右击菜单中选择edit source.
2.将processing=4改为processing=0,关闭窗口.此时的dw对象变为无网格.
3.在需要的位置加标题.
竹风荷
2003-07-30
打赏
举报
回复
$PBExportHeader$f_dwaddtext.srf global type f_dwaddtext from function_object end type forward prototypes global subroutine f_dwaddtext (datawindow arg_dw, string arg_text, integer arg_textheight) end prototypes global subroutine f_dwaddtext (datawindow arg_dw, string arg_text, integer arg_textheight);datastore ls_dw ls_dw= create datastore ls_dw.dataobject=arg_dw.dataobject if arg_dw.sharedata(ls_dw)<>1 then messagebox("错误","数据共享出错,请与系统管理员联系!",stopsign!) return end if string ls_text,ls_string,ls_width long ll_height,ll_temp,ll_header //取计算单位 dec ld_units string ls_case,ls_penw='5' ls_case=ls_dw.describe("datawindow.units") choose case ls_case case "0" ld_units=1 case "1" ls_penw='1' ld_units=24/110 case "2" ld_units=250/110 case "3" ld_units=636/110 end choose ll_height=long(ls_dw.describe("datawindow.header.height")) ll_header=long(ls_dw.describe("datawindow.header.height")) ll_height+=arg_textheight*10*ld_units ls_string="datawindow.header.height=" + string(ll_height) ls_dw.modify(ls_string) ll_temp=ll_height - ll_header //移动字段名、和计算列名 // 说明:设置表头长度 // 参数1:[reference] datawindow adw_1 // 说明:报表DW Long Row String List string token[] String tag_1 Integer StartPos = 1, EndPos, Top, i = 1 , index = 0 //adw_1.modify('datawindow.crosstab.staticmode=yes') //取出DW中所有的对象存入token[]中 list = ls_dw.Describe("datawindow.objects") EndPos = pos(list, '~t', StartPos) Do while ( EndPos > 0 ) token[i] = Mid(list, StartPos, EndPos - StartPos) i ++ StartPos = EndPos + 1 EndPos = pos(list, '~t', StartPos) LOOP token[i] = Mid(list, StartPos) Top = UpperBound(token[]) //找出最后一列 string ls_lastcol int li_lastpos=0,li_thispos For i = 1 to Top CHOOSE CASE UPPER(ls_dw.Describe(token[i] + '.type')) CASE 'COLUMN', 'COMPUTE' li_thispos = integer(ls_dw.Describe(token[i] + '.X')) if li_thispos>=li_lastpos then //这是目前最后一列 li_lastpos=li_thispos ls_lastcol=token[i] end if case 'TEXT' ls_dw.modify(token[i] + ".y='" + string(ll_temp) + "'") end choose NEXT //增加标题 ls_text="create text(band=Foreground alignment='2' border='0' x='0' y='0' text='" + arg_text + "' height='" + string(ll_temp - 1) + "'width='" + string(1) + "' font.height='" + string(-arg_textheight) + "' font.face='黑体' font.weight='700' name=t_title_lb background.mode='2' background.color='16777215')~r~n" ls_dw.modify(ls_text) ls_width=string((li_lastpos + long(ls_dw.describe(ls_lastcol + ".width")) + 10)) ls_dw.modify('t_title_lb.width="' + ls_width + '"') //画线 ls_text='create line(band=header x1="0" y1="' + string(ll_temp - 1) + '" x2="1" y2="' + string(ll_temp - 1) + '" name=l_1 visible="1" pen.style="0" pen.width="' + ls_penw + '" pen.color="8421504" background.mode="2" background.color="16777215" )' ls_dw.modify(ls_text) ls_dw.modify('l_1.x2="' + ls_width + '"') ls_dw.print() arg_dw.sharedataoff() destroy ls_dw end subroutine
前端项目-
crosstab
.zip
前端项目-
crosstab
,用于使用localstorage进行跨选项卡通信的实用程序库。
Control Panel - Mouse
Control Panel - Mouse
jasper complex
crosstab
demo
jasper如何创建一个复杂的
crosstab
以及创建过程中遇到的问题
crosstab
-杨剑波2019062064.ipynb
crosstab
-杨剑波2019062064.ipynb
dw2xls导出
crosstab
+grid美化
部分dw2xls版本不支持导出
crosstab
,这个就是把
crosstab
改变为grid;另外可以对grid进行美化(后者不是原创)
DataWindow
609
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章