读书人

奇怪的下拉数据窗口数据增量查找有关问

发布时间: 2012-04-08 14:38:30 作者: rapoo

奇怪的下拉数据窗口数据增量查找问题
数据窗口列(tyl)显示方式为下拉数据窗口,displaycolumn为rym(人员名),datacolumn为rybm(人员编码)
数据窗口的editchanged事件代码如下

If row <= 0 Then Return

Stringls_findstr
Longll_findrow
Intli_rtn, i
DataWindowChild ldwc_1

If dwo.Name = "tyl" Then
This.GetChild("tyl", ldwc_1)

ls_findstr = "(rybm like '" + data + "%')"
ls_findstr = ls_findstr + " Or (rym like '%" + data + "%')"

ll_findrow = ldwc_1.Find(ls_findstr, 1, ldwc_1.RowCount())
If ll_findrow > 0 Then
li_rtn = ldwc_1.SetRow(ll_findrow)
li_rtn = ldwc_1.ScrollToRow(ll_findrow)
PostEvent("highlight")
End If
End If
问题如下:
1.当我在tyl列上输入数据时,如果查找的数据在rym列上,下拉窗口为自动滚动数据到当前,并加亮显示,但是,如果查找的数据是rybm,相应数据会加亮显示,但不会滚动到当前屏幕,相当于ldwc_1.ScrollToRow(ll_findrow)没起作用.我调试了下,li_rtn 的值都是1,说明是执行成功了的.
2.如果我把下拉数据窗口的displaycolumn调整为rybm, datacolumn改为rym,则问题1就恰好相反.
3.当editchanged事件不写代码时,我在tyl输入数据,下拉数据窗口也会自动查找匹配显示列的数据.并自动滚动加亮显示.(是否可编辑的下拉数据窗口已具有自动查找的功能)
4.望帮忙看下,如何解决问题1,因为我有可能同时查找很多列的数据.
我的PB版本是8.0.4(我用9.0.3做了测试,问题一样.)



[解决办法]
帮你远程看看,q:865359042

读书人网 >PB

热点推荐