CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

如何实现下拉数据窗口的条件检索控制?

楼主sbks(hwnd,&rect)2005-07-08 09:17:18 在 PowerBuilder / 基础类 提问

某字段使用了dddw来显示数据,数据量很大,检索了上万条发货单的表头信息,这使得在打开程序主界面时很慢。能否可以实现由代码来控制这个dddw的检索工作,让它在输入条件后,点击倒三角的下拉箭头后,再进行检索。 问题点数:100、回复次数:10Top

1 楼zhf6529(秋无痕)回复于 2005-07-08 09:30:06 得分 0

在窗口open事件中这样写  
  datawindowchild   ldwc_child  
  long   ll_rtn  
   
   
  ll_rtn   =   dw_1.getchild('使用dddw的字段名',   ldwc_child)  
  if   ll_rtn   =   1   then  
        ldwc_child.settransobject(sqlca)  
  end   if  
   
  在数据窗口中自定义一个事件,叫做ue_dwnkey,id为pbm_downkey,ue_dwnkey代码如下  
  string   ls_filter  
   
  if   key   =   keyenter!   then  
        if   this.getcolumn   =   '使用dddw的字段名'   then  
              ls_str=this.getitemstring(this.getrow(),"使用dddw的字段名")      
              ldwc_child.setfilter('使用dddw的字段名='+ls_str)  
              ldwc_child.filter()    
        end   if  
  end   ifTop

2 楼sbks(hwnd,&rect)回复于 2005-07-08 09:35:02 得分 0

zhf6529(秋无痕):  
  这个办法不行。因为ldwc_child已经进行了retrieve了数据,上面的代码中是进行一次filter()。  
  我的意图是在直接控制retrieve,避免大量的数据检索。Top

3 楼zhf6529(秋无痕)回复于 2005-07-08 09:42:30 得分 25

这样呀,你可以在ldwc_child中定义一个检索参数,然后retrieve(参数)也可以的Top

4 楼lzheng2001(1加1)回复于 2005-07-08 10:01:48 得分 25

为child   dw加参数就可以了,进入dw的数据源(sql)窗口->design菜单->Retrival   Arguments   ...   中添加参数  
   
  datawindowchild   ldwc_child  
  long   ll_rtn  
   
   
  ll_rtn   =   dw_1.getchild('使用dddw的字段名',   ldwc_child)  
  if   ll_rtn   =   1   then  
        ldwc_child.settransobject(sqlca)  
        ldwc_child.retrieve(参数1,...)  
  end   if  
  Top

5 楼zxjnew(重新启动)回复于 2005-07-08 10:48:43 得分 0

还可以用   getsqlselect()   和   setsqlselct()   来实现Top

6 楼shangdier(殇迪)回复于 2005-09-15 10:18:44 得分 0

编辑数据窗口对象的过滤条件  
  打开sql面板  
  design\convert   to   syntax  
  直接用sql语句来选择Top

7 楼lzp_lrp(lzp)回复于 2005-09-15 18:01:48 得分 50

你首先需要把数据窗口列的autoretrieve的勾去掉  
   
  再按lzheng2001(1加1)   的方法去做,应该就可以达到你的目的了Top

8 楼hangzhou6274(拉面贵了,馒头小了,领导知道吗?)回复于 2005-09-16 08:47:29 得分 0

lzp_lrp(lzp)   的方法可行.Top

9 楼saiche05(赛车)回复于 2005-09-16 09:05:28 得分 0

ingTop

10 楼wscft(努力工作,开心生活!))回复于 2005-09-16 11:53:59 得分 0

学习!Top

相关问题

  • 如果控制数据窗口检索的行数
  • 如何用时间控制检索数据??
  • 检索数据
  • 如何知道是否有数据满足检索的条件
  • 请问如何在数据窗口中定义检索参数::::及检索条件
  • 菜鸟问题,从EDIT输入检索条件(关键字),对数据库进行检索
  • 请教,忘记了在datawindow中retrieve()中没有检索条件如何检索数据窗口?请指教!
  • 在数据窗口里,怎么使retrieve()失效,用新的条件检索?
  • pb下使用sql语句检索informix数据库的一个问题,检索条件中加上对汉字的检索后就出现问题了!!!
  • 初学者求助:如何在一个数据窗口控件中以两个Dropdownlistbox中的选定内容为检索条件检索数据呢,谢谢!

关键词

  • 检索
  • 数据
  • 代码
  • sql
  • ldwc
  • child
  • 参数
  • rtn
  • 条件
  • 实现

得分解答快速导航

  • 帖主:sbks
  • zhf6529
  • lzheng2001
  • lzp_lrp

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo