A---双击打开,查询条件选择窗口(下图),本来考虑用DDW显示(再考虑)
B---根据A选择类型,过滤语法,A改变后会自行改变。
C---根据A类型过滤语法,取值方式不一样
D---联结方式,目前以 AND OR为主。
有系统表显示所有表及列名信息(A表,用来生成上图中双击打开TV视图的所有数据源)另有一张表保存指定查询查询类型(B表,即保存所有查询条件,如查询合同汇总执行情况、查询合同明细执行情况,查询订单执行情况等,可以用TV实现视图管理)将A表与B表组合,得到当前操作的查询可显现哪些列名信息,B表中有增加过滤语法字段,关联到系统语法生成器中,如果有语法过滤,则在输入值后DW区中会转化为正确的查询语句。如"u_dj_hts.nal > 200 " 为原语句,增加过滤语法生成器则显示成"u_dj_rkds.ihts_id in(select iid from u_dj_hts whereu_dj_hts.nsl > 200 )"这便是有语法过滤器的作用。
这里面B表记录一定会多于A表,A表不会重复,但B表会重复。
B---设计思路
查询条件:
1、日期型 > < <> =
2、数值型 > < <> =
3、字符型 = like
4、下拉窗口选择型 列名 = 选择结果
如果是下拉窗口选择,参考参数管理实现方法。
5、特殊情况的过滤方式,即多条件过滤方式
当类型为此类型时,双击打开此窗口,没有选择任何数据不能返回值!
注:再考虑有没有单选情况,如果有,也考虑是不是出现如同5的实现方式。
C---值
根据A选择列名后类型不同,分别显示日期,数值,字符型(可输入)下拉结果显示(不可输入字符型)
D---联结方式
1、AND 上一行条件与下一行条件均满足 默认条件
2、OR 上一行与本行只需一个满足
注:最后一行不显示此方式,增加新一行条件才会显示。
E---行判断语法(考虑语法正确显示白色底,不正确显示绿色底)
ABCDLW输入是否正确,正确 = 0 ,不正确等于1
例 AND 在最后行一定没有。
F---行检索语法 自动生成加上系统的过滤语法。
注:在DW区显示完成后,在条件查询窗口生成语法按钮则生成语法。
1、控制总的语法长度
2、每个自定义条件查询均有汇总生成语法,总的汇总语法与DW区语法汇总生成最终语法
3、查询条件生成窗口可调试显示错误语法。
后记:自定义查询条件为系统集成度很高的日常使用控件,设计非常复杂,可能需要增加多张表和系统存储过程,具体实现随开发进度会有所改变。
来源:http://blog.163.com/jxy_joss/blog/static/4897530120079724355976/