“省份“模块的进一步完善
上面几节讲了一些导入数据,图表的功能,在说明导出功能之前,先把模块完善一下。可以完善的地方有:
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注入还要做一些工作。
也可以对每个字段附加条件,这个我加在综合查询里面了,模块里没有加入。
下一节介绍数据导出的种种方式。
模块管理常规功能自定义系统的设计与实现(15--进一步完善"省份"模块),码迷,mamicode.com