【在线等】关于easyui-datagrid显示问题

zb_qdhr 2017-01-07 04:44:26
我这里有个List<Emp> emps; //这个是要显示在datagrid里的
Emp里有8条属性,其中一条:private Dept dept;
Dept里有4条属性,其中一条:private set emps = new HashSet(0);
emp跟dept都配好了hbm,emp跟dept是多对一关系
前台有个datagrid

如果把emp里跟emp.hbm里的dept删掉,可以正常显示出所有数据
如果不删除emp跟hbm里的dept属性,就什么都不显示
大体原因可能是前台跟对象的属性不匹配

然而我在前台页面加入了
<th data-options="field:'dept'">dept</th>
这个,依然无法显示
前台页面table


后台controller


求各路大神解决。。
...全文
239 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
GrayHJX 2017-01-11
  • 打赏
  • 举报
回复
easyui的datagrid直接解析不了你的子对象属性的,你需要写个formatter函数:

function fmtBaseFld(value, row, fieldName) {
	var eachObj = row; // 返回str
	var tableFields = fieldName.split("."); // 解析成数组
	for(var i = 0; i < tableFields.length; i++) {
		eachObj = eval("eachObj."+tableFields[i]); // 预处理该对象
		if(eachObj == null || "undefined" == typeof eachObj) { // 对象不存在直接返回
			return "";
		}
	}
	return eachObj;
}
名字怪怪滴 2017-01-10
  • 打赏
  • 举报
回复
@RequestMapping(value="/list/json",method = RequestMethod.GET) @ResponseBody public Map<String,Object> getMap(HttpServletRequest request,Model model){ //业务逻辑省略 return getEasyUIData(page); }
名字怪怪滴 2017-01-10
  • 打赏
  • 举报
回复
/** * 获取easyui分页数据 * @param page * @return map对象 */ public <T> Map<String, Object> getEasyUIData(Page<T> page){ Map<String, Object> map = new HashMap<String, Object>(); map.put("rows", page.getResult()); map.put("total", page.getTotalCount()); return map; }
名字怪怪滴 2017-01-10
  • 打赏
  • 举报
回复
var roles; $(function(){ roles=$('#users').datagrid({ method: "get", url:'${ctx}/user/list/json', fit : true, fitColumns : true, border : false, striped:true, idField : 'id', pagination:true, rownumbers:true, pageNumber:1, pageSize : 20, pageList : [ 10, 20, 30, 40, 50 ], singleSelect:true, columns:[[ {field:'msPhone',title:'用户账号',sortable:true,width:5 }, {field:'msRoleType',title:'角色类型',sortable:true,width:20 }, {field:'msInvitationCode',title:'邀请码',sortable:true,width:20 }, {field:'msAccountType',title:'用户类型',sortable:true,width:20 }, {field:'msPhone',title:'用户联系方式',sortable:true,width:20 }, {field:'msYn',title:'状态',sortable:true,width:10 }, {field:'createDatetime',title:'创建时间',sortable:true,width:30 }, {field:'modifyDatetime',title:' 修改时间',sortable:true,width:30 }, {field:'msRegDate',title:'用户注册时间',sortable:true,width:30 }, {field:'action',title:'详情',sortable:true,width:30, formatter:function(value,row,index){ return '<shiro:hasPermission name="role:audit:audit"><a href="javascript:addTab('+row.msId+')"><div class="icon-metro-table2" style="width:16px;height:16px;display:inline-block" title="查看详情"></div>查看详情</a></shiro:hasPermission>'; } } ]], enableHeaderClickMenu: false, enableHeaderContextMenu: false, enableRowContextMenu: false, toolbar:'#tb' }); });
zb_qdhr 2017-01-07
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
dept是一列是显示Object object吧,formatter一下就行了
- - 初学easyui 并不知道formatter怎么弄。。dept我也不知道会显示什么。。加了dept之后就什么都不显示了
李德胜1995 2017-01-07
  • 打赏
  • 举报
回复
dept是一列是显示Object object吧,formatter一下就行了

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧