PB数据窗口绝对技巧 下载本文

内容发布更新时间 : 2024/6/18 19:58:23星期一 下面是文章的全部内容请认真阅读。

PB数据窗口绝对技巧

1、如何让存储文件目录的列,显示图片?

选择对应的column的display as picture属性为true。

2、如何复制grid类型的所选择的行的数据到系统剪切板?

string ls_selected

ls_selected=dw_1.Object.DataWindow.Selected.Data clipbord(ls_selected)

3:如何改变GRID数据窗口列位置(新手常见)

先preview,然后在预览窗口拖动位置即可。

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修改tex

t的x和width属性表达式如下:

x=\integer(describe('firstcol.x')\width=\- integer(describe('firstcol.x')) +integer(describe('lastcol.width')) 8、如何过滤dddw编辑风格的显示值为指定值的记录?

dw_1.setfilter(\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,25

5,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(\为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(\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 \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 dwExtraInf

o) LIBRARY \

代码如下:

constant integer VK_F4 = 115

dw_1.SetFocus()

dw_1.SetColumn( \) // 设置当前dddw keybd_event( VK_F4,0,0,0 ) // 按下F4键 keybd_event( VK_F4,0,2,0 ) // 释放F4键

18、如何打印datawindow的内容到文件中?

dw_1.object.datawindow.print.fileName =\dw_1.print()

19、如何设置dddw的初始值?

dw_1.object.columnname.Initial=\

20、如何只显示不同的数据?

dw_1.filter(\and columnname<>columnname[-1]\

dw_1.filter()

21、如何让带有title bar的datawindow不可以移动?

在datawindow的自定义事件ue_nchittest(pbm_nchittest)中写入如下代码: return 1

22、如何在N-UP显示风格中建立基于第N栏中的列的计算列?

如column有两列,number和price ,并显示为两栏,则第一栏的cost计算列的expr

ession为number*price,第二栏的cost_1计算列的expression为number[1]*price[1] 23、如何清空ddlb或edit.codetable中项目?

dw_1.Object.columnname.Values=\

24、如何实现指定的column的字体旋转90度?

dw_1.object.columnname.font.Escapement =\

25、如何获取datawindow的sql代码?

可以通过以下四种方法获取sql代码: string szselect

szselect=dw_1.describe(\szselect=dw_1.describe(\szselect=dw_1.describe(\szselect=dw_1.getsqlselect()

26、如何获取datawindow对象占有的虚拟存储的容量?

使用datawindow.storage属性

举例:在datawindow控件的retrieverow事件中,写入如下代码: long lstorage

lstorage=long(dw_1.object.datawindow.storage) if lstorage>50000 then dbcancel()

27、如何连续在同一张纸打印两个数据窗口?

dw_1.object.datawindow.print.filename=\dw_2.object.datawindow.print.filename=\dw_1.print() dw_2.print()

28、如何设置datawindow分组后每个分组中的记录号?

建立一个计算列,expression为 getrow() - first(getrow() for group 1)+1

29、如何实现在datawindow中只有新增的行,才可以编辑?

在所有的column的protect属性表达式中写入以下表达式: if(isrownew(),'0','1')

30、除了循环以外,有没有更好的方法统计数据窗口中处于选中状态的行数?