pb数据窗口技巧
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pb中datawindow常用技巧一
(2009-04-16 17:09:07)
转载▼
分类:PowerBuilder
标签:
杂谈
pb中datawindow常用技巧一
1、如何让存储文件目录的列,显示图片?
答:选择对应的column的display as picture属性为true
2、如何复制grid类型的所选择的行的数据到系统剪切板?
答:string ls_selected
ls_selected=dw_1.Object.DataWindow.Selected.Data
clipbord(ls_selected)
4、如何设置的DW底色?
在DW的editsource中改变color的值
5、如何将Grid风格改成自由格式?
在DW的editsource中将processing=1的1改为0
6、要新建一个表A但风格和现有表格B风格一样,怎么将A表快速设置成表B风格?
复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可
7、如何实现gird风格的datawindow的多栏表头?
答:添加text到header带区,并设置band属性为foreground保存,edit source 修改text的x和width属性表达式如下:
x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - integer(describe('firstcol.x')) +integer(describe('lastcol.width'))
8、如何过滤dddw编辑风格的显示值为指定值的记录?
答:dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your+"'") dw_1.filter()
9、如何设置datawindow的某一列为空?
答:string ls_temp[]
setnull(ls_temp)
dw_1.object.columnname.primary.current=ls_temp
10、如何设置datawindow的单双行不同颜色间隔?
答:在detail带区的color属性表达式中写上if(mod
(getrow(),2)=1 ,rgb(255,0,0),rgb(0,255,0)),如果是当前行以第三种颜色表示,表达式如下:if(getrow()=current(),
rgb(255,0,0),if(mod(getrow(),2)=1 ,rgb(0,0,255),rgb(0,255,0)))
11、如何获取指定名称的datawindowobject?
答:DWObject ldwo_use,ldwo_abc ldwo_use = dw_1.Object ldwo_abc =
ldwo_use.__get_attribute("t_1",FALSE)//t_1为datawindow中text对象的名称12、如何缩放datawindow的打印大小?
答:dw_1.object.datawindow.zoom=150 or dw_1.object.datawindow.zoom=75 13、如何在已过滤后的数据基础上对datawindow进行过滤?
答:
dw_1.setfilter(dw_1.describe("datawindow.table.filter")+your_join+your_new_filt er)
dw_1.filter()
14、如何在datawindow中显示动态时间?
答:建立一个计算域,表达式为string(datetime(today(),now()),'yyyy年mm月dd日hh点mm分ss秒'),同时设置datawindow的属性
dw_1.Object.DataWindow.Timer_Interval=500
15、如何让带用title bar的datawindow控件的标题栏诚活动窗口的颜色?答:外部函数定义:
funcation logn SetActiveWindow(long hwnd ) Library "user32.dll" datawindow控件的clicked事件代码:
setactivewindow(handle(this))
16、如何设置datawindow的当前行指示图标?
答:在datawindow中建立一个计算列,expression为'',并将该计算列移动为datawindow的第一个列,在datawindow控件的
rowfocuschanged事件中写入代码:
SetRowFocusIndicator(hand!)或setrowfucsindicator(p_1)//p_1为窗口上的picture控件名
17、如何通过代码打开dddw?
答:定义外部函数引用声明
SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) LIBRARY "user32.dll"
代码如下:[constant integer VK_F4 = 115
dw_1.SetFocus()
dw_1.SetColumn( "dept_head_id" ) //设置当前dddw
keybd_event( VK_F4,0,0,0 ) // 按下F4键
keybd_event( VK_F4,0,2,0 ) // 释放F4键