怎么使用filter
想实现通过点击相应的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




