easyUI 动态加载列-包含行列合并

项目需求:拿到数据库中的物料数据,将数据按照物料编码以及所属物料中心进行分类,然后把相同物料编码的多条数据,按其需求时间,合并成一条数据,并按其需求时间的月份动态生成列并展示!看到需求,一脸懵逼,没咋接触过前端的我表示压力好大~~

效果图如下:
其月份和天都是根据数据自动生成的列

说明 : 上图中一条物料信息,对应于数据库中是多条数据

深呼吸~…下面我们开始动手实现功能吧!

1. 获取数据

此处不想多说,我用的是SSM框架,造SQL、写Mapper、搞Controller,呃呃完成!
emmm,此处有个地方需要注意:拿到数据后,在Controller中生成动态表头,将表头和数据放在Map里返回到前端即可!这个也能在Service层去搞,主要目的是把动态的表头给生成并返回到前台。

	/**
	 *因为是公司项目,这里就不放源代码了,只说明大体思路
	 */
	@RequestMapping(value = "/访问地址")
	@ResponseBody
	public Map<String, Object>	function(HttpServletRequest request,HttpServletResponse response) {
   
		
		Map<String,Object> result = new HashMap<String, Object>(); //存放返回前台的数据
		// 获取数据并将其放入map中
		List<Entity> list = service.loadData(); // 获取数据
		result.put("val", list); // 将数据放入map中
		
		// 处理数据--获取动态列并将其封装到map2中
		Map<String,Map<String,String>> map2 = new TreeMap<String, Map<String,String>>();
		Map<String,String> tmp = new TreeMap<String, String>();
		for (Entity entity : list) {
   
			//将类似于 2019-01-29 的时间,截取为 2019-01 和 29
			String month = entity.getPlanFixTime().substring(0, 7); 
			String day = entity.getPlanFixTime().substring(8);
			// 将年月(yyyy-MM) 作为键,将每个年月中的日(dd) 作为值进行封装
			if(map2.containsKey(month)){
   
				tmp = map2.get(month);
				tmp.put(day, month+"-"+day);
				tmp.put("coltotal", tmp.size()-1+"");
				map2.put(month, tmp);
				tmp = <
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhang L.R.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值