CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

怎么使用filter

楼主SickNirvana(SickNirvana)2004-09-02 10:48:58 在 PowerBuilder / 基础类 提问

想实现通过点击相应的radiobutton,在dw_1中显示不同的数据  
  rb_1的clicked()事件代码如下:  
  dw_1.setfilter("code   like   A%")  
  dw_1.filter()  
  运行的时候,点击rb_1,会弹出消息框“expression   is   not   valid”  
  请问是怎么回事  
   
  另外想请问怎么区分""和''  
   
  谢谢  
   
   
  问题点数:30、回复次数:11Top

1 楼wangxichen() 喜之郎 : )回复于 2004-09-02 10:59:18 得分 5

表达式无效  
  dw_1.setfilter("code   like   A%")  
  应该写成:  
  dw_1.setfilter("code   like   'A%'")Top

2 楼wangxichen() 喜之郎 : )回复于 2004-09-02 11:01:02 得分 5

单引号是用来表示表达式内部的字符串  
   
  双引号是用来组成表达式的,最终并不出现在表达式中。Top

3 楼FOLEX(不会游泳的鱼)回复于 2004-09-02 11:02:33 得分 5

dw_1.setfilter("code   like   'A%'")  
   
  在PB里面""和''没区别,只是注意配对就是啦Top

4 楼ghostagain(心情卡片)回复于 2004-09-02 11:12:06 得分 0

哦   ,原来用dw_1.setfilter()简单些,我还用的是SQL语句来过滤!Top

5 楼SickNirvana(SickNirvana)回复于 2004-09-02 11:19:04 得分 0

OK,radiobutton的解决了  
  还有这个,在编辑框中输入,然后点击button查询  
   
  cb_1的clicked()事件:  
  string   ls_name,ls_tj  
  ls_name=sle_1.text  
  ls_tj="items_itemname   like   '"+ls_name+"%'"  
  dw_1.setfilter(ls_tj)  
  dw_1.filter()  
   
  错误消息也是“expression   is   not   valid”  
  又是怎么回事Top

6 楼ghostagain(心情卡片)回复于 2004-09-02 11:26:21 得分 5

不知道   是不是没有items_itemname   列或是列名写错或是数据类型不对!  
  大概只有这些原因了    
   
  再不然复杂的过滤我觉得还是用SQL语句好些!Top

7 楼workhand(我可憨了...)回复于 2004-09-02 11:28:13 得分 0

cb_1的clicked()事件:  
  string   ls_name,ls_tj  
  ls_name=sle_1.text  
  ls_tj="left(items_itemname,len(ls_name))   =   '"   +   ls_name   +   "'"  
  dw_1.setfilter(ls_tj)  
  dw_1.filter()Top

8 楼wuyazhe(wyz&xyl)回复于 2004-09-02 11:41:46 得分 5

没看懂楼上的  
  ls_tj="items_itemname   like   '"+ls_name+"%'"  
  改成:  
  ls_tj   =   items_itemname   +   "   like   ~'"   +   ls_name   +   "%~'"     //   ~'     转义字符,表示   '  
  这样试下。Top

9 楼cmaboy(浪子)回复于 2004-09-02 12:25:05 得分 5

同意三楼的观点:  
  其实,程序的可重复性和实际的执行效率是一个矛盾  
  就用  
  if   rb_1.checked   then  
      dw_1.setfilter("code   like   'A%'")  
      dw_1.filter()  
  end   if  
  Top

10 楼shouhuzhe(守护者)回复于 2004-09-02 12:36:20 得分 0

setfilter("code   like   ~'A%~'")Top

11 楼LisaLBJ(lisa)回复于 2004-09-02 13:04:48 得分 0

你要查询name字段的值等于sle_1.text可以这样试试:  
  dw_1.SetFilter("name   =   '"+   ls_cbs   +"   '")  
  dw_1.setfilter()Top

相关问题

  • LAME 源代码中的directshow filter 怎么不能使用啊?
  • 有人知道怎么在Graph里使用 RealMediaSplitter这个Filter吗?
  • 怎么使用别人开发好的filter,如myfilter.ax
  • Filter连接的初级问题,自己写了Filter之后怎么加入自己的GraphBuilder中使用啊
  • tomcat怎么使用?
  • ghost怎么使用?
  • fsockopen()怎么使用?
  • DBComboBox怎么使用
  • _variant怎么使用?
  • 怎么使用TerminateThread?

关键词

  • code
  • a%
  • setfilter
  • dw
  • ls
  • 表达式
  • tj
  • itemname
  • sle
  • filter

得分解答快速导航

  • 帖主:SickNirvana
  • wangxichen
  • wangxichen
  • FOLEX
  • ghostagain
  • wuyazhe
  • cmaboy

相关链接

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

广告也精彩

反馈

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