页面动态表格的生成--条件动态控制(行列标题栏和数据)

动态生成表格,说白了就是页面拼串。后台组织数据,前台获取拼凑成完成的表格。

但这个表格没有想象中的那样简单,刚接到需求就认为这是一个很复杂的一个功能,难倒是不太难,很费心。

大致完整效果为这样

动态生成部分为享受社会救助情况及其下的定期定量救助和非定期定量救助以及最后得数据。

首先我通过两步走战略:

1、获取多选数据(救助类型+type),使用“,”分隔开,创建条件数组,根据数组的长度确定,享受社会救助情况(金额)所跨列的长度。根据条件结尾的type,确定是定期还是非定期救助类型,然后确定定期和非定期分别所占跨列数,然后再根据救助类型的type区分定期和非定期下的数据标题。

2、通过append()方法向表头中添加固定行和列

3、通过ajax去后台获取数据

4、最后将数据添加到tbody中

其中难点在于后动态数据的组建。我将动态的数据组装到Map<String,List>中传到前台,泛型为前台多选的条件和条件对应的数据集合,前台根据数组长度确定每行显示动态数据的长度,根据type判断数据所属类型,再从map中取出list循环出所有的动态数据。之所有使用三元运算是因为,后台case when判断的数值,传到实体中为乱码。我将case when的判断结果为数字,前台三元运算判断取值。

总结:写完忽然发现其实很简单,用心去研究,没有解决不了的问题。

猜你喜欢

转载自blog.csdn.net/mrlon123/article/details/81202758
今日推荐