您的位置:首页 > 其它

模块管理常规功能自定义系统的设计与实现(15--进一步完善"省份"模块)

2014-04-29 21:18 639 查看

“省份“模块的进一步完善

上面几节讲了一些导入数据,图表的功能,在说明导出功能之前,先把模块完善一下。可以完善的地方有:
1.给面积,人口,GDP加上单位;
2.GDP的文字写错了,写与GPD了,把他改正过来;
3.设置”所属区域“字段,可以进行分组;
4.设置”记录明细“中显示的字段,可以在右侧显示当前选中记录的明细。

由于本系统是全解释配置的,因此每一个模块的名称,权限,每个字段的字段名,单位(比如面积是万平方公里),是否可以修改等等属性全是自由设置。所有的grid列和form样式,图表,导航,可分组字段的定义,以后数据的多条记录导出和单条记录导出,都是自定义的。当前还只有一个模块,所有的定义都是比较简单的,等到模块一多,定义会更加复杂。还有综合查询,也是完全自定义的。设置的过程这里不贴图了,以前小节里面有过修改字段和截图了,哪些可以修改可以参考一下。
下面看一下修正结束后的模块的样子:



这样看起来作为一个单个模块的功能已经比较饱满了。还有什么需要改进的地方,请跟贴讨论,多谢。
加入了单位以后,form 窗口也需要重新展示一下。




数据筛选:在功能栏里有一个筛选的输入框,这个输入框中输入的筛选条件的作用范围是当前grid的所有字段。比如你输入一个“东”,查找到的记录如下图。



这里我贴一下sql语句中的where子句。

where
        (
            _t7010.tf_provinceId like '%东%' 
            or  _t7010.tf_name like '%东%' 
            or  _t7010.tf_shortname like '%东%' 
            or  _t7010.tf_district like '%东%'
        )
这里会判断筛先条件如果是字符,那么就对当前grid 的所有字符字段加上条件。
如果录入了一个2012,则会对所有的字符和数值,日期型的加上条件。sql 语句 where 子句如下

where
        (
            _t7010.tf_provinceId like '%2012%' 
            or  _t7010.tf_name like '%2012%' 
            or  _t7010.tf_shortname like '%2012%' 
            or  _t7010.tf_district like '%2012%' 
            or  _t7010.tf_area=2012    //数值字段
            or  _t7010.tf_numberOfPeople=2012    //数值字段
            or  _t7010.tf_GDP=2012     //数值字段
            or  (    //因为输入了4位数,判断是年份,
                year(_t7010.tf_createDate)=2012    
            ) 
        )
下面是一个输入了 ‘2012-07’的sql where 子句
where
        (
            _t7010.tf_provinceId like '%2012-07%' 
            or  _t7010.tf_name like '%2012-07%' 
            or  _t7010.tf_shortname like '%2012-07%' 
            or  _t7010.tf_district like '%2012-07%' 
            or  _t7010.tf_GDP=2012-07          //这里不对了,发现了一个bug 要修正一下
            or  (
                year(_t7010.tf_createDate)=2012 
                and month(_t7010.tf_createDate)=07      //这里比较年份和月份了
            ) 
        )


对于录入的数据作各种判断来生where 子句,可以根据用户的需求和业务需求来增加,比如说用 ‘,'号分隔,可以并列的条件,用空格分隔二个必须满足的条件等等。查询的时候不允许输入单引号,要防止SQL注入还要做一些工作。



也可以对每个字段附加条件,这个我加在综合查询里面了,模块里没有加入。

下一节介绍数据导出的种种方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐