读书人

DDDW自动过滤符合值 光标的有关问题

发布时间: 2013-07-01 12:33:04 作者: rapoo

DDDW自动过滤符合值 光标的问题
dw_1中有一个hs_no字段
在dw_1的editchanged事件中 如下代码

If dwo.name = 'hs_no' Then
dw_1.object.hs_no.dddw.showlist = true//显示下拉
Long ll_Found
DataWindowChild ldwc_name
This.GetChild('hs_no',ldwc_name)
ldwc_name.SetTransObject(SQLCA)

If len(data) = 0 Then
ldwc_name.SetFilter('') ///清除过滤
ldwc_name.Filter()
Return
End If
ldwc_name.SetFilter("hs_name like '%"+data+"%'")
ldwc_name.Filter()
if ldwc_name.rowcount()=0 then return
ldwc_name.SelectRow(1,TRUE) //滚到制定行

end If


现在问题是 检索符合的条件是没问题的 但是 一旦在hs_no中输入任何的东西光标就会往左移动一格
例如:输入a 光标往左移动一格 再输入b 再移动一格 就变成ba 在输入c在移动一格 就变成了cba
如果 去掉这一行代码的话
dw_1.object.hs_no.dddw.showlist = true//显示下拉
就不会移动光标
但是 下拉框也不显示啦,,郁闷。。。怎么办???新手。。。求解!!!
[解决办法]
可以先判断一下dw_1.object.hs_no.dddw.showlist是否true,再确定设置,如果本身已经是显示下拉的话就无需重新再设置一下
[解决办法]
1.获取光标所在位置
long li_pos
li_pos = this.selectedstart()
2重新定位光标位置
Dw.SelectText(li_pos,0)

读书人网 >PB

热点推荐