表格过滤配置模块

      这里表格过滤的定义我是这么理解:通过定义过滤条件,在数据库层面进行数据过滤,把过滤后的数据在表格中展示。与传统意义上的表格数据过滤不一样,传统的数据过滤只是在内存中对已经有的表格数据进行过滤。

      使用控件:FilterControl、XtraGrid

      利用自带的FilterControl和XtraGrid建立的过滤条件项是基于表格中自有的列信息,如图所示:

clip_image001

     表格中的表头字段,如图所示:

clip_image002

     这样做,跟现实可能有点不一致:可能我们需要的过滤条件项并不一定要作为字段配置在表格中展示,只是需要在查询条件里面有。整个表格设计模块参考了速达的表格过滤界面,如图所示:

clip_image002[6]

      接下来就是开始设计该模块:

      1. 先对要配置的过滤项设计一个存储配置信息的表,一般我是在PowerDesigner下对表对象进行建模:

image对于存储在数据库中的过滤项,我们提供了以上的一些基于字段的配置信息。

      2. 改造FilterControl控件,以满足对数据库查询的一些支持:

image让FilterControl支持用户脚本、SQL脚本、逻辑脚本等信息。

      3. 编写类,以便于控件项的值能传递到查询脚本的参数中

image@BillCode能被选择的1给替换了,这样能对比较复杂的查询建立过滤表达式

      4. 对于查询的方案,用户可以保存下来以便于下一次使用

image

image 

      5. 将该模块配置与平台相衔接,即把该模块配置到实体对象中

image

通过该设置的启用,查询界面模板,可以自定义自己的过滤选项,也可以采取默认的grid表格选项。至此,整个表格过滤配置模块已经完成,后续的优化等客户使用后,在慢慢进行修改。


作者:海风科技
出处:http://www.cnblogs.com/haifengtech
关于作者:海风科技快速开发平台 快速开发构件 专注于.Net C/S快速开发 精通Devexpress控件使用和开发 QQ:576330322
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过haifengtech@foxmail.com 联系我,非常感谢。

原文地址:https://www.cnblogs.com/haifengtech/p/2113850.html