`
单一色调
  • 浏览: 83573 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

SSH+EASYUI构建动态数据列表

阅读更多

如图所示:

在对渠道分析的时候,想查看渠道的详细信息,每个渠道的下载方式不同,信息编号也不同,这就需要构建动态数据列表,EASYUI动态解析列表。



 

 
 1、前台页面:

      给分析按钮注册事件。

 

function detailWid()
	{
		var rows = $('#admin_adinstallbywid_datagrid').datagrid('getChecked');
		wid = rows[0].wid;
		time= rows[0].time;
		$.ajax({
			type:"POST",  
			dataType:"json",  
          			async:true,  
					url:'${pageContext.request.contextPath}/adInstallResultAction!getAdInstallResultByDetail.action?wid='+wid+'&time='+time,
					success:function(response){
				$("#analyseDetail").datagrid(
					{columns:new Array(response.columns),			//动态解析后台columns
					 title:wid+"渠道分析"
					}
					).datagrid("loadData",response);  
			   }				
		});

		$('#admin_adresultbydetail_datagrid').dialog('open');

	}

 2、后台Service层构建前台返回数据,由于不是实体类,就用普通数组存储。

public DataGrid datagridByDetail(PageUse pageUse) 
	{	
		DataGrid dg =  new DataGrid();
		//分组查询所有adid
		String hql="select count(adid),adid from AdInstallResult where wid='"+pageUse.getWid()+"' and substring(time,1,10)='"+pageUse.getTime()+"' group by adid";
		List list=adInstallResultDao.find(hql);
		Map<String,String> map=new HashMap<String,String>();
		for(int i=0;i<list.size();i++)
		{
			Object[] object=(Object[])list.get(i);
			map.put(String.valueOf(object[1]), String.valueOf(object[0]));
		}
		
		String hql2="select count(adflag),adflag from AdInstallResult where wid='"+pageUse.getWid()+"' and substring(time,1,10)='"+pageUse.getTime()+"' group by adflag";
		List list2=adInstallResultDao.find(hql2);
		for(int j=0;j<list2.size();j++)
		{
			Object[] object=(Object[])list2.get(j);
			map.put(String.valueOf(object[1]), String.valueOf(object[0]));
		}
				
		//遍历map
		List<Object> rowsList=new ArrayList<Object>();
		List<Object> columnList=new ArrayList<Object>();
		rowsList.add(map);
		Map<String,Object> columnMap;
		for(Iterator iter=map.entrySet().iterator();iter.hasNext();)
		{	
			//动态构建columns列
			Map.Entry<String, String> entry=(Map.Entry<String, String>)iter.next();
			columnMap=new HashMap<String,Object>();
			columnMap.put("field", entry.getKey());
			columnMap.put("title", entry.getKey());;
			columnMap.put("width", "100");
			columnList.add(columnMap);
			
		}
		
		dg.setTotal(1);
		dg.setRows(rowsList);
		dg.setColumns(columnList);
		return dg;
	}

 

 

  • 大小: 44.6 KB
  • 大小: 39.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics