当前位置: 代码迷 >> PB >> 对dddw过滤没反应,该如何处理
  详细解决方案

对dddw过滤没反应,该如何处理

热度:34   发布时间:2016-04-29 09:56:32.0
对dddw过滤没反应
问题是这样的:
        在第一个dddw中选择一项对第二个dddw进行过滤。

我在第一个dddw的itemchanged()加入以下代码:
string   ls_dept,ls_filter
datawindowchild   ldw_child1,ldw_child2
this.getchild( 'dept ',ldw_child1)
ls_dept   =   ldw_child1.getitemstring(ldw_child1.GetRow(), 'dept ')

ls_filter   =   "(dept   =   ' "   +   ls_dept   +   " ') "

dw_2.getchild( 'dept ',ldw_child2)   //获取第二个dddw中的子表

ldw_child2.setfilter(ls_filter)
ldw_child2.filter()
是语句出问题还是怎么回事,过滤都没反应,第二个dddw还是原来那些项!

------解决方案--------------------
string ls_dept,ls_filter
datawindowchild ldw_child1,ldw_child2


if dwo.name= 'dept ' then


//this.getchild( 'dept ',ldw_child1)

//////////////////////////////////////////////////////////////////////////////////
ls_dept = data //ldw_child1.getitemstring(ldw_child1.GetRow(), 'dept ')

//////////////////////////////////////////////////////////////////////////////////


ls_filter = "(dept = ' " + ls_dept + " ') "

dw_2.getchild( 'dept ',ldw_child2) //获取第二个dddw中的子表

ldw_child2.setfilter(ls_filter)
ldw_child2.filter()


end if
------解决方案--------------------
我没太明白
......
在第一个dddw中选择一项对第二个dddw进行过滤。

我在第一个dddw的itemchanged()加入以下代码:
......
是不是这个意思:有两个数据窗口如dw_1 dw_2 里面的dept列都有下拉数据窗口即dddw 你想在dw_1中点击dept下拉数据窗口时对dw_2的dept下拉数据窗口进行过滤?!
如果是,那么我赞成sun1976(嫁给我,你就是我的一妾) 的方法 即:
if dwo.name= 'dept ' then

ls_dept = data//选择的数据
ls_filter = "(dept = ' " + ls_dept + " ') "

dw_2.getchild( 'dept ',ldw_child2) //获取第二个dddw中的子表

ldw_child2.setfilter(ls_filter)
ldw_child2.filter()
end if