2009年1月6日星期二

如何动态改变下拉数据窗口?

如何动态改变下拉数据窗口?
Readygo技术搜索引擎 网络搜索 efish 2008-1-17 13:28:03

如何动态改变下拉数据窗口?
楼主layewong(laye)2003-06-10 17:29:59 在 PowerBuilder / DataWindow 提问
数据窗口dw_1中有一列是用下拉数据窗口表示,怎么才能动态改变下拉数据窗口,也就是动态调用不同的下拉数据窗口 问题点数:40、回复次数:7Top

1 楼andyzq(小强)回复于 2003-06-10 17:35:46 得分 20
datawindowchild ldwc_1
getchild("含有dddw的字段名", ldwc_1)
ldwc_1.dataobject = "d_1" //这里动态改变d_2, d_3
ldwc_1.settransobject(sqlca)
ldwc_1.retrieve()Top

2 楼888888888888(888888888888)回复于 2003-06-10 17:36:29 得分 0
???Top

3 楼layewong(laye)回复于 2003-06-10 17:49:22 得分 0
那该怎么设置下拉数据窗口的display column和data column呢?Top

4 楼ldq_pb(湘鹰)回复于 2003-06-10 17:57:31 得分 15
设置下拉数据窗口下的拉数据窗口
dw_1.Object.emp_status.dddw.name= "dw_name"

设置下拉数据窗口的data column
dw_1.Object.emp_status.dddw.DataColumn="col_1"

设置下拉数据窗口的display column
dw_1.Object.emp_status.dddw.DisplayColumn="col_2"
Top

5 楼ldq_pb(湘鹰)回复于 2003-06-10 18:03:58 得分 0
對了emp_status是字段名Top

6 楼andyzq(小强)回复于 2003-06-10 18:06:45 得分 5
dw_1.object.字段名.dddw.DisplayColumn = "显示字段"
dw_1.object.字段名.dddw.DataColumn = "data字段"Top




怎么知道我选择的是那一行?
-----------------------------
可以用子数据窗口,getselectedrow(0)函数得到你选择的行号。

动态实现下拉数据窗口DDDW的设定
问:在数据窗口对象画板中可以设定列的编辑风格为下拉数据窗口(DropDownDataWindow),请问在程序中可以动态实现这项功能吗?
答:可以的,假设所设定列为部门号"department_id",相关连的子数据窗口为"d_dddw_dep",显示列为部门名称"dept_name",数据列为部门号"dept_id",实现方法如下:
dw_1.Modify("department_id.DDDW.Name=d_dddw_dep ")
dw_1.Modify("department_id.DDDW.DisplayColumn='dept_name' ")
dw_1.Modify("department_id.DDDW.DataColumn='dept_id' ")
或:
dw_1.object.department_id.dddw.name = "d_dddw_dep"
dw_1.object.department_id.DDDW.DisplayColumn = "dept_name" dw_1.object.department_id.DDDW.DataColumn = "dept_id"
注:PowerBuilder有一个小工具DWSyntax(程序名为:dwsyn60.exe),提供了获得及修改数据窗口、列等的各项属性值的语法,对编程非常有帮助。上述脚本在DWSyntax中都能找到。

没有评论: