PB中如何通过条件过滤数据窗口中下拉数据窗口的记录

wefinal 2003-10-17 02:10:11
各位大侠,小弟急求:PB中如何通过条件过滤数据窗口中下拉数据窗口的记录,如:数据窗口中有一字段设置为下拉数据窗口,想通过下拉数据窗口中的‘ID’字段过滤其中的记录,不知该如何实现,恳请各位相救,先谢谢了!
...全文
768 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸡翅多 2003-10-21
  • 打赏
  • 举报
回复
小兔??
哈哈
jf_xs 2003-10-21
  • 打赏
  • 举报
回复
请问一下 “jdsnhan(柳荫凉)” ,为什么是 dwc.retrieve(itemA) <= 0 时才插入一行呢?
lzh_911 2003-10-21
  • 打赏
  • 举报
回复
学习
moqijun 2003-10-20
  • 打赏
  • 举报
回复
第一種方法不是很好﹐如果檢索的表中沒有數據的話﹐就會彈出對話框﹐讓你輸入檢索參數。
第二和第三個好。
bubugao 2003-10-20
  • 打赏
  • 举报
回复
唉!来晚了一步
jdsnhan 2003-10-20
  • 打赏
  • 举报
回复
对于不好的第一种方法,可以修改一下:
if dwc.retrieve(itemA) <= 0 then dwc.insertrow(0)
就可以了。
zhangdatou 2003-10-20
  • 打赏
  • 举报
回复
都很好!
wantsong 2003-10-18
  • 打赏
  • 举报
回复
楼上的方法都可行,分别是检索的两种方法,第三种就是用动态sql。
我还有一个更笨的办法,把值在临时dw 或ds中检索出来后,在用dw_child.SetItem()放进去,这种办法可以满足更复杂的查询条件。呵呵。这些都have a try,你就会感到很大的进步。
cmaboy 2003-10-18
  • 打赏
  • 举报
回复
同意小兔的方法,当然,这是对于少量数据的情况,你这样是可以的。
如果你的主表中存在上万条记录,而且,子表中也存在上万条记录。当对主表进行retrieve时,就会等死你。我就上过一次这样的当。
当时,我的主表中有3万条记录,子表中有5万条记录,我在主表中检索了300条记录,就崩溃了。如果……你就可以出去抽根烟再看结果了。
其实,对于大量数据的方法,我也在找方法
119119 2003-10-17
  • 打赏
  • 举报
回复
快乐白兔的想法一样,其实那些方法都用过,都可以成功。其实下次碰到相类似的问题可以先用搜索的方法,看看有没有相类似的帖子。
bigtailwolf163 2003-10-17
  • 打赏
  • 举报
回复
不用试了,一定行的。
wefinal 2003-10-17
  • 打赏
  • 举报
回复
非常感谢各位,我去试试看
qqjj7758 2003-10-17
  • 打赏
  • 举报
回复
和白兔的想法一样 DataWindowChild 方法和 getchild()SetFilter()
Filter()
可以完成你的愿望
klbt 2003-10-17
  • 打赏
  • 举报
回复
楼上方法可行,如果不设置检索参数,用子数据窗口的过滤也可以实现:
DataWindowChild dwc
String ls_id

dw_1.getchild("连接子数据窗口的字段名",dwc)
dwc.settransobject(sqlca)
dwc.retrieve()

ls_id = "XXX"
dwc.SetFilter("ID'" = ls_id + "'")
dwc.Filter()

chrisfy 2003-10-17
  • 打赏
  • 举报
回复
在子数据窗口对象中建立检索参数itemA,并构造where子句让字段ID = :itemA
在相应事件中编码:
dw_1.reset()
dw_1.insertrow(0)
DataWindowChild dwc
dw_1.getchild("连接子数据窗口的字段名",dwc)
dwc.settransobject(sqlca)
dwc.retrieve(itemA)//在itemA负值后

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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