若:
dw_1.sharedata(dw_2)
dw_2.sharedata(dw_3)
所有对其中一个dw的
内容修改(如setitem、filter)将会影响到别的两个dw;但是如果是对
sql source修改(如调用全局函数gf_add_where来增加条件)则只能在dw_1上修改才有效,以最早的dw_1为主的。
1、
dw_2.sharedata(dw_3)------dw_3在PB编程界面有内容,run后没有任何内容
这两个数据窗口是通过:dw_2.sharedata(dw_3)来分享数据的,如果要都显示出内容来,必须在
sql source里面的(where以上的)代码完全相同:
选择字段的数目相同
选择字段的数据类型相同(尤其要看两个dw_2和dw_3的editsource中的“column=”后面的字段类型)
选择字段的排列顺序相同
只要满足上述条件,就可以
选择字段的数据类型相同(尤其要看两个dw_2和dw_3的editsource中的“column=”后面的字段类型)
选择字段的排列顺序相同
只要满足上述条件,就可以
2、
如果要某一列的dddw不知原因没法settransobject,即无法初始化来利用,可以用全局ds来sharedata,这样使用:
datawindowchild child
dw_1.getchild('cdepcode',child)
ds_dep.sharedata(child)
3、
查询窗口中全局的ds sharedata的目的:
有些时候,会对全局的基础档案数据进行按照
某种条件过滤,比如高级查询某个仓库下的存货,不然会把全部的存货列出来