主题:谁能举个关于setfilter()filter()的简单例子,谢谢
dctg
[专家分:0] 发布于 2006-10-10 17:26:00
谁能举个关于setfilter()filter()的简单例子,谢谢
回复列表 (共7个回复)
沙发
adamswater [专家分:0] 发布于 2006-10-21 18:11:00
当需要过滤的字段的类型为字符串类型的时候:
string ls_date
ls_date = left(em_1.text,4)+mid(em_1.text,6,2)
dw_1.reset()
dw_1.setfilter("summonth = '"+ls_date+"'")
dw_1.filter()
dw_1.retrieve()
当需要过滤的字段的类型为数字类型的时候
integer li_num
li_num = integer(sle_1.text)
dw_1.reset()
dw_1.setfilter("idno = "+string(li_num)+"")
dw_1.filter()
dw_1.retrieve()
板凳
俺是初学者 [专家分:0] 发布于 2006-10-27 14:13:00
请问最后面加dw_1.retrieve()用来做什么?
3 楼
blackcao [专家分:200] 发布于 2006-10-31 12:32:00
setfilter()filter() 这两个是设置检索的规则
retrieve()是真正实现检索操作
4 楼
joulejcc [专家分:310] 发布于 2007-03-10 18:35:00
用不着加上retrieve()
5 楼
lverself [专家分:0] 发布于 2007-03-13 15:46:00
retrieve()不需要,dw_1.filter()后将直接对数据窗口dw_1中已经存在的数据,根据刚刚setfilter的条件进行过滤!
6 楼
lverself [专家分:0] 发布于 2007-03-13 15:53:00
[quote]setfilter()filter() 这两个是设置检索的规则
retrieve()是真正实现检索操作[/quote]
这位同志的说法不是很准确,稍微做更正:
setfilter()是重新设置过滤条件。
filter()按过滤条件重新过滤。
过滤条件指的是对已经检索出来的数据进行过滤筛选,而不是检索规则(检索条件),检索条件一般都是在数据窗口中定义的,另外也可以通过对数据窗口对象属性的修改或者数据窗口控件函数setsqlselect()(这个函数有局限性)来修改动态检索规则(即检索条件)。
7 楼
blackcao [专家分:200] 发布于 2007-04-03 10:26:00
谢谢纠正
filter()是根据setfilter()重设的条件更新主缓冲区和过滤缓冲区的数据
窗口控件只显示主缓冲区的数据
我来回复