easyui datagrid 动态加载数据 渲染问题,表格错位问题
$('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',width:100}, {field:'name',title:'Name',width:100}, {field:'price',title:'Price',width:100,align:'right'} ]] , //数据加载成功以后渲染 onLoadSuccess: function() { $.parser.parse(); } });
如果直接在field 的 formatter 中直接 return 一个linkbutton 按钮,则无法显示图标,只有普通的 a 标签,无法加载样式,因为easyui 只在页面加载时渲染标签,因此在使用formatter格式化列数据后,动态添加的linkbutton样式无法渲染样式,需要在 datagrid 加载完后进行重新渲染,使用 onLoadSuccess 进行对 linkbutton渲染
方法一:
onLoadSuccess: function() { $.parser.parse(); }
方法二:
$('.classname').linkbutton({text:"test",plain:'true',iconCls:'icon-add'});
但是,重新渲染以后,表格会出现错位的问题,那么就固定表格高度就可以解决,将下面的代码放在渲染代码之后即可,代码如下:
$('#table-id').datagrid('fixRowHeight');