jeecg单页面多表字段显示
在使用jeecg过程中,有时候需要页面不仅仅显示单表数据,还需要显示多个表中不同字段的数据,而jeecg仅支持单表显示,下面本文自行编写了一个工具类,来实现页面显示多张表不同字段的内容;
代码:
package com.jeecg.demo.util;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.web.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* Popup列内容数据绑定助手
*/
@Component
public class PopupDataBindUtil {
@Autowired
private SystemService systemService;
/**
* 根据参数绑定数据表数据 例: bindUtil.BindDDName(dataGrid, "trader", "fullname",
* "traderid", "orgid", "orgidname");
* 搜索名字叫Trader表下的fullname字段,条件是表的traderid等于数据对象的orgid值, 最后绑定到数据的列名为orgidname
*
* @param dataGrid
* 数据对象
* @param tableName
* 数据表名称
* @param fieldName
* 数据表字段
* @param queryName
* 数据表查询条件字段
* @param keyName
* 要绑定的数据对象字段名称
* @param bindName
* 绑定到数据对象的字段名称
*
* @throws Exception
*/
public void BindDDName(DataGrid dataGrid, String tableName,
String fieldName, String queryName, String keyName, String bindName)
throws Exception {
List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
boolean isMap = false;
if (dataGrid.getResults().size() > 0
&& "java.util.HashMap".equals(dataGrid.getResults().get(0)
.getClass().getName()))