PB中的SetFilter_第1页
PB中的SetFilter_第2页
PB中的SetFilter_第3页
PB中的SetFilter_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、英文原版解释:PowerBuilder This statement defines the filter expression for dw_Employee as the value of format1: dw_Employee.SetFilter(format1)The following statements define a filter expression and set it as the filter for dw_Employee. With this filter, only those rows in which the cust_qty column exceeds

2、 100 and the cust_code column exceeds 30 are displayed. The final statement calls Filter to apply the filter:string DWfilter2DWfilter2 = "cust_qty > 100 and cust_code >30"dw_Employee.SetFilter(DWfilter2)dw_Employee.Filter( )The following statements define a filter so that emp_state o

3、f dw_Employee displays only if it is equal to the value of var1 (in this case ME for Maine). The filter expression passed to SetFilter is emp_state = ME:string Var1Var1 = "ME"dw_Employee.SetFilter("emp_state = '"+ var1 +" '")The following statements define a fil

4、ter so that column 1 must equal the value in min_qty and column 2 must equal the value in max_qty to pass the filter. The resulting filter expression is:#1=100 and #2=1000The sample code is:integer max_qty, min_qtymin_qty = 100max_qty = 1000dw_inv.SetFilter("#1="+ String( min_qty) & +

5、" and #2=" + String(max_qty)The following example sets the filter expression to null, which causes PowerBuilder to display the Specify Filter dialog box. Then it calls Filter, which applies the filter expression the user specified:string null_strSetNull(null_str)dw_main.SetFilter(null_str)

6、dw_main.Filter()中文解释(非对应):函数作用:为DataWindow或者DataStore指定数据过滤规则。通常在调用该函数前使用函数Retrieve将数据检索到客户端,该函数可以决定检索到客户端的这些数据哪些可以显示,哪些不能显示。该函数对客户端的数据进行操作,和后台数据库没有任何关系。在设置完过滤规则后使用函数Retrieve检索数据是不合理的,每次设置过滤规则后都检索数据,这样的执行效率很低。需要注意的是,该函数紧紧是设置过滤规则,并不进行过滤。函数Filter是进行过滤的,使用最近设置好的过滤规则对数据进行过滤。函数语法:integer dwcontrol.SetFil

7、ter ( string format )ldwcontrol:要为其设定过滤规则的DataWindow、DataStore或者下拉子数据窗口控件的名称;lformat:作为过滤规则的表达式,该表达式的返回值应该是Boolean类型,或者是True、或者是False。如果表达式返回值为Null,则在执行函数Filter时自动弹出对话框让用户指定过滤规则。在表达式中可以使用数据窗口对象函数、列名、列号、数字、字符串等。如果用到了列号,则应该以开头、后面紧跟数字来表示。多个条件可以使用逻辑运算符进行联结,一个非常良好的习惯是每个条件都应该使用括号。这样既可以保证表达式的清晰,又可以避免一些Bug。

8、后面的代码实例中会讲到。返 回值:数字类型,1表示执行成功,-1表示执行失败。该函数的返回值没有多大意义,很少在程序中使用该返回值。代码实例:例1:使用列名进行过滤。string ls_filter ls_filter = "cust_qty > 100 and cust_code >30"dw_Employee.SetFilter(ls_filter)dw_Employee.Filter( )例2:必须使用括号的情况。下面的脚本在逻辑上看起来没有什么问题:String ls_filterls_filter = “name like 张% and article

9、_title like %计算机%”dw_1.SetFilter()dw_1.Filter()实际上,上面的程序是不能正确执行的。将过滤规则作如下改动就可以了:ls_filter = “(name like 张%) and (article_title like %计算机%)”例3:取消过滤规则。下面两个语句都能实现:语句1:dw_1.SetFilter(“”)语句2:dw_1.SetFilter(“1=1”)例4:下面的语句在运行时可以让用户自己指定过滤规则:String ls_nullSetNull(ls_null)dw_1.SetFilter(ls_null)dw_1.Filter()例

10、5:下面脚本可以判断数据窗口中是否有主键重复的数据。假设数据窗口中的主键是dept_id:string ls_fieldname/主键名称long ll_rc/数据窗口中总的数据行数ls_fieldname = "dept_id"dw_1.SetFilter("1=1")/取消过滤规则,显示全部的数据dw_1.Filter()/过滤ll_rc = dw_1.RowCount()/保存数据行数dw_1.SetSort(ls_fieldname + " A")/用主键进行排序dw_1.Sort()/下面语句是核心语句。该过滤规则的含义是:只显示相邻行不同的数据。dw_1.SetFilter(ls_fieldname + " <> " + ls_fieldnam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论