初学PB,碰到一技术问题请教各位GGJJ

novias 2005-04-05 11:24:51
词霸自动取词功能差不多,我的要求就是我在数据窗口输入这段字母数字的前几个字母,然后他就可以自动到数据中去匹配,如果我这些字母可以唯一匹配数据库中的唯一一条数据,那么数据窗口就会自动在下拉窗口(别的窗口也可以)中提示这条数据。

举个例子:比如我的数据库中有122354235、hackbase354、haoy132352、asdeasdgfpoi四个数据
假如我在数据窗口输入1的话,它就能把122354235这个数据弹在下拉窗口下
如果我在数据窗口输入ha的话,它就能把hackbase354和haoy132352弹在下拉窗口下
还有一种情况就是假如我在数据窗口输入的是hadkbase354,它可以自动匹配到和它最接近的那条数据hackbase354。
小弟因为初学PB不久,所以很多功能还不知道如何实现。还请各位大哥大姐帮忙!

为什么只能放100分?要是能话200分多好!谢谢各位!
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2005-04-05
  • 打赏
  • 举报
回复
引用:
/*
ldw_tmp.settransobject(sqlca)
ldw_tmp.retrieve()
if data<>'' then
ldw_tmp.setfilter("mc like '"+data+"%'")//假如根据mc来判断
ldw_tmp.filter()
end if

*
/

这种做法会慢煞人的

使用带参数的datawindow或动态修改datawindow的SQL进行检索吧 或者初始化的时候先retrieve 然后每次只使用filter()进行过滤一下

@_@
吹雪风 2005-04-05
  • 打赏
  • 举报
回复
同意楼上的
j9dai 2005-04-05
  • 打赏
  • 举报
回复
楼上正解
mnsiii 2005-04-05
  • 打赏
  • 举报
回复
楼上地说得非常好,其中最主要的是在数据窗口的editchanged中写代码,这样你每次编辑时间都会触发。
还有就是所有的like关键字去过滤,这样就搞定了。

同时你要想做的完善也可以再key事件中判断Ctrl + V的组合粘贴,还有鼠标左右键(也可以粘贴)。

应该没有别的什么了
hornbilltofy 2005-04-05
  • 打赏
  • 举报
回复
在数据窗的editchanged事件中写如下代码:
if dwo.name<>'your column'then return//不在指定的列中输入就退出
datawindowchild ldw_tmp
getchild('your column',ldw_tmp)
ldw_tmp.settransobject(sqlca)
ldw_tmp.retrieve()
if data<>'' then
ldw_tmp.setfilter("mc like '"+data+"%'")//假如根据mc来判断
ldw_tmp.filter()
end if
vlch 2005-04-05
  • 打赏
  • 举报
回复
将下拉数据窗口过滤
novias 2005-04-05
  • 打赏
  • 举报
回复
为什么我在贴子列表看不到自己的贴子!
nimittz 2005-04-05
  • 打赏
  • 举报
回复
楼上的有理,不要吃得没事就去retrieve(),呵呵

1,109

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧