PB数据窗口技巧问答
1.如何让存储文件目录的列,显示图片? 答:选择对应的columndisplay as picture属性为true 
2、如何复制grid类型的所选择的行的数据到系统剪切板?
答:string ls_selected
ls_selected=dw_1.Object.DataWindow.Selected.Data
clipboard(ls_selected)
3、如何复制graph风格的datawindow中的图形到剪切板?
答:dw_1.clipbord("gr_1")
4、如何设置的DW底?
DWeditsource中改变color的值
5、如何将Grid风格改成自由格式?
DWeditsource中将processing=11改为0
6、要新建一个表A但风格和现有表格B风格一样,怎么将column函数怎么使用A表快速设置成表B风格?
复制BC,在C表的DW中的editsource中将表名和字段名改成A表的,即可
7、如何实现gird风格的datawindow的多栏表头?
答:添加 textheader带区,并设置band属性为foreground保存,edit source 修改textxwidth属性表达式如下:
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. O B J E lumnname.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、如何获取指定名称的datawindow O B J E C T?
答:DWObject ldwo_use,ldwo_abc
      ldwo_use = dw_1.Object
      ldwo_abc = ldwo_use.__get_attribute("t_1",FALSE)//t_1datawindowtext对象的名称
注﹕不是版本的问题,是你没对位置。在PBbrowser中,展开任意放置了datawindow控件的窗口,然后展开datawindow出现dwobject,右边的函数部分就可以看到这几个函数。因为它的参数从字面上无法猜测出其含义,而帮助上没讲,所以有此一问。
你从哪儿到这些函数的?我只知道__get_attribute() 
pb7.0以前的版本这些函数的形式为get_attribute(),没有前面的两个横线。 
  dwobject  ldwo_object,ldwo_object_item 
  ldwo_object  =  dw_1.object 
  ldwo_object_item= ldwo_object.__get_attribute('objectname',false) 
   
  参数中的objectnamedatawindow中对象的名字,如列名等。这样可以根据列名得到该列对应的dwo,就跟在datawindowclick事件中的dwo参数一样。12、如何使用datawindow的查询模式?
答:dw_1.Object.DataWindow.QueryMode='yes'datawindow改变为查询模式后,接收用户的输入,再使用一下代码获取结果:
    dw_1.accepttext()
    ieve()
13、如何缩放datawindow的打印大小?
答:dw_1. O B J E C =150 or dw_1. O B J E C =75
14、如何在已过滤后的数据基础上对datawindow进行过滤?
答:dw_1.setfilter(dw_1.describe("datawindow.table.filter")+your_join+your_new_filter)
      dw_1.filter()
15、如何在datawindow中显示动态时间?
答:建立一个计算域,表达式为string(datetime(today(),now()),'yyyymmdd hhmm
ss'),同时设置datawindow的属性dw_1.Object.DataWindow.Timer_Interval=500
16、如何让带用title bardatawindow控件的标题栏诚活动窗口的颜?
答:外部函数定义:
function long SetActiveWindow(long hwnd )  Library "user32.dll"
datawindow控件的clicked事件代码:
setactivewindow(handle(this))
17、如何设置datawindow的当前行指示图标?
答:在datawindow中建立一个计算列,expression'',并将该计算列移动为datawindow的第一个列,在datawindow控件的
rowfocuschanged事件中写入代码:
SetRowFocusIndicator(hand!)setrowfucsindicator(p_1)//p_1为窗口上的picture控件名
18、如何通过代码打开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
19、如何打印datawindow的内容到文件中?
答: dw_1. O B J E C T.datawindow.print.fileName ="c:\temp.prn"
        dw_1.print()
20、如何设置dddw的初始值?
答:dw_1. O B J E lumnname.Initial="your_initial_value"
21、如何只显示不同的数据?
答:dw_1.filter("isnull(columnname[-1]) and columnname<>columnname[-1]")
      dw_1.filter()
22、如何让带有title bardatawindow不可以移动?
答:在datawindow的自定义事件ue_nchittest(pbm_nchittest)中写入如下代码:
  return 1
23、如何在N-UP显示风格中建立基于第N栏中的列的计算列?
答:如column有两列,numberprice ,并显示为两栏,则第一栏的cost计算列的expressionnumber*price,第二栏的cost_1计算列的expressionnumber[1]*price[1]
24、如何清空ddlbdetable中项目?
答:dw_lumnname.Values=""
25、如何实现指定的column的字体旋转90度?
答:dw_1. O B J E lumnname.font.Escapement ="900"
26、如何获取datawindowsql代码?
答: 可以通过以下四种方法获取sql代码:
        string szselect
        szselect=dw_1.describe("datawindow.table.select")
        szselect=dw_1.describe("datawindow.table.sqlselect")
        szselect=dw_1.describe("datawindow.table.select.attribute")
        szselect=sqlselect()     
27、如何获取datawindow对象占有的虚拟存储的容量?
答:使用datawindow.storage属性
    举例:在datawindow控件的retrieverow事件中,写如如下代码:
            long lstorage
            lstorage=long(dw_1. O B J E C T.datawindow.storage)
            if lstorage>50000 then dbcancel()
28、如何控制打印横向:
dw_control. O B J E C T.ientation= 129、如何进行预览:
dw_control. O B J E C T.datawindow.print.preview = "yes"

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。