您的位置:首页 > 其它

如何动态修改dddw列的宽度

2012-02-18 11:18 429 查看
如何动态修改dddw列的宽度。

因为界面上有很多DDDW,在宽度上各有不同。

如何用动态修改dddw的宽度,以保持dddw下拉的时候,

显示的DDDW的宽度正好和列的宽度一致。


这个问题第1个回答:

用数据窗口控件的GetChild(ldwc_child)函数获取到子数据窗口,然后就可以用ldwc_child改变dddw的宽了高了萨。

比如:

datawindowchild ldwc_child

dw_list.GetChild(ldwc_child)

ldwc_child.modify('column_name.width = dw_list的宽度')

ldwc_child.modify('column_name.height = dw_list的高度')

ldwc_child.modify('datawindow.detail.height = dw_list的高度') // 高度和宽度好像还要减一定的值

然后还要设置dw_list关联的datawindow的宽度,高度和细目带的高度,大概就是这个意思,具体的自己去试一下就知道了

这个问题第2个回答:

C/C++ code
datawindowchild ldwc_child

String    ls_DisplayColumn, ls_Width

ls_DisplayColumn = dw_1.Describe("c.DDDW.DisplayColumn")

dw_1.GetChild( 'c', ldwc_child )

ls_Width = ldwc_child.Describe( ls_DisplayColumn + ".Width" )

dw_1.Object.C.Width = ls_Width


大致的意思是取dddw字段的显示字段名,再取子数据窗口中该显示字段的宽度,然后设置dddw为该宽度。

其中c为dddw字段。

前提是下拉的子数据窗口中,只显示这个DisplayColumn字段。

这个问题第3个回答:

dddw.Modify(ls_column_chi+".width='"+string(1000)+"'")

dddw.Modify(ls_column_chi+".width="+string(1000)+"")

dddw.Modify("#"+string(1)+".width='"+string(1000)+"'")

都试过了不行。。。还是改变不了。有改变过实际经验的说说。确定能否改变

这个问题第4个回答:

不用getchild

dw_control.Object.columnname.dddw.PercentWidth = 100

这个问题第5个回答:

如果只是保持一致,需要动态指定吗,直接在DW编辑窗口指定

dw_control.Object.columnname.dddw.PercentWidth = 100就OK了,什么代码也不用写

这个问题第6个回答:

引用 4 楼 AFIC 的回复:

不用getchild

dw_control.Object.columnname.dddw.PercentWidth = 100

呵呵。我是要修改dddw里面的列的宽度。不是修改下拉框时显示的DDDW宽度

情况是这样的。某个数据窗口,在屏幕分辨率改变后。我动态的调整了列的宽度。

在这种情况下,就会异致DDDW的列的宽度和主窗口中列的宽度相差过大。现在我需要

修改DDDW中,列的宽度以保持和主界面的列的宽度一致。大概就是这么个意思吧。

这个问题第7个回答:

引用 1 楼 jjoulejcc 的回复:

用数据窗口控件的GetChild(ldwc_child)函数获取到子数据窗口,然后就可以用ldwc_child改变dddw的宽了高了萨。

比如:

datawindowchild ldwc_child

dw_list.GetChild(ldwc_child)

ldwc_child.modify('column_name.width = dw_list的宽度')

ldwc_child.modify('column_name.height = dw_list的高度')

ldwc_child.modify('datawindow.detail.height = dw_list的高度') // 高度和宽度好像还要减一定的值

然后还要设置dw_li…

这样不行吗?

这个问题第8个回答:

引用 7 楼 foreveris 的回复:

引用 1 楼 jjoulejcc 的回复:

用数据窗口控件的GetChild(ldwc_child)函数获取到子数据窗口,然后就可以用ldwc_child改变dddw的宽了高了萨。

比如:

datawindowchild ldwc_child

dw_list.GetChild(ldwc_child)

ldwc_child.modify('column_name.width = dw_list的宽度')

ldwc_child.modify('column_name.height = dw_list的高度')

ldwc_child.modify('datawindow.detail.height = dw_list的高度') // 高度和宽度好…

只有ldwc_child.modify('datawindow.detail.height = dw_list的高度') // 高度和宽度好像还要减一定的值

这一句发挥作用了。可是这个把高度也修改了。。。太夸张点了吧?

呵呵。不需要修改高度

这个问题第9个回答:

呵呵,还有这样的需求:

dddw.Modify(ls_column_chi+".width="+string(1000))

这个问题第10个回答:

呵呵。谢谢。我发现问题所在了。感谢各位的帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: