种类 | Data Query |
默认目录 | Visual FoxPro Catalog\Foundation Classes\Data Query |
类 | _filterdialog |
基类 | Form |
类库 | _table.vcx |
父类 | _form |
示例 | ...\Samples\Vfp98\Solution\Ffc\datasort.scx |
说明
该类为一对话框,可使用现有的筛选对象对特定字段进行数据筛选。
使用该类的方法是:将其拖放到一个项目中,或者从“组件管理库”的“数据项”快捷菜单中选择“创建表单”或“添加至项目”命令。将该类拖放到项目中时,可以选择添加该类、创建一个子类或者创建一个表单。在将该类放落到项目中、或从快捷菜单中选择“创建表单”命令时,Visual FoxPro 将显示一个“另存为”对话框,这时可以指定表单的名称,然后 Visual FoxPro 将在表单设计器中创建并打开该表单。
使用 _FilterDialog 可以利用 Visual FoxPro 表达式生成复杂的筛选表达式,如利用布尔值、嵌套的条件等,但只限于当前打开表中可用的字段。对于各种不同的字段,将自动提供分隔符。通过检查当前表中可用的索引标识,能对表达式的优化提出建议。在字段列表中,将 "*" 放在具有可用索引标识的字段名称前。
与 _FilterExpr 相似,_FilterDialog至少需要打开一个表,并在该表上设置筛选表达式。与 _FilterExpr 不同的是,_FilterDialog 不必是模式的;当 _FilterExpr 调用时,即为模式的。FilterDialog 确定了 Init 事件中的当前表,并从不更改数据工作期。
由 _FilterExpr 调用时,_FilterDialog 确定用户在 _FilterExpr 编辑框中已指定的筛选表达式,显示该表达式,并将其作为初始条件。直接调用 _FilterDialog 时,将检查当前筛选表达式的别名,使用 SET FILTER 命令显示当前筛选表达式并将其作为初始条件。
_FilterDialog 的 SetUpFilter( ) 方法程序使用对话框中列出的条件并创建一个筛选表达式,然后将 NORMALIZE( ) 函数应用于该表达式,并将结果保存在 cFilter 属性中。在单击“确定”时,将运行 SetupFilter( )。如果 _FilterExpr.SetFilter 方法程序由 _FilterExpr 的一个实例调用,则 _FilterDialog 调用 _FilterExpr.SetFilter 方法程序;否则,_FilterDialog 使用 _table 确定是否可以进行定位、直接设置筛选表达式、并在筛选表达式已设置时刷新显示。
_FilterDialog 是一个独立的对象,在生成筛选条件时并不需要 _FilterExpr 的存在。但是,当由 _FilterExpr 调用时,这两个对话框可以协同工作并生成一个筛选表达式。其工作方式为:在 _FilterExpr 中指定一个表达式,并且在 _FilterDialog 中作出选择。有关的筛选表达式类的详细内容,请参阅 _Filter Expression。
有关使用基本类的详细内容,请参阅“Visual FoxPro 基本类的使用指南”。
属性、事件、方法程序 | 说明 |
cFilter 属性 | 包含在 SetupFilter
方法程序中处理的筛选表达式。 默认值:"" |
SetupFilter 方法程序 | 获取在对话框中列出的条件,并将其创建为一个筛选表达式,然后将
NORMALIZE( )
函数应用于该表达式。 语法:SetupFilter(tcValue) 返回值:cFilter 参数: tcValue 指定用作筛选表达式的表达式。 cFilter cFilter 属性中包含的值。 |
cOldexact 属性 | 类的内部属性。 |
iBact 属性 | 类的内部属性。 |
iQptr 属性 | 类的内部属性。 |
iQuerymax 属性 | 类的内部属性。 |
iSelect 属性 | 类的内部属性。 |
oCaller 属性 | 类的内部属性。 |
aDBFs[1,0] 属性 | 类的内部属性。 |
aTags[1,0] 属性 | 类的内部属性。 |
aQuery[1,0] 属性 | 类的内部属性。 |
aFLDs[1,0] 属性 | 类的内部属性。 |
SetAction 方法程序 | 类的内部方法程序。 |
QReset 方法程序 | 类的内部方法程序。 |
QSet 方法程序 | 类的内部方法程序。 |
FSet 方法程序 | 类的内部方法程序。 |
NoBrack 方法程序 | 类的内部方法程序。 |
Brackets 方法程序 | 类的内部方法程序。 |
SetTags 方法程序 | 类的内部方法程序。 |
OnTag 方法程序 | 类的内部方法程序。 |
NoTag 方法程序 | 类的内部方法程序。 |
EditQuery 方法程序 | 类的内部方法程序。 |
SetRowsources 方法程序 | 类的内部方法程序。 |
SetInitialQueryParts 方法程序 | 类的内部方法程序。 |