最近项目中遇到datagrid数据需要再form加载完成后根据具体的商品显示页脚footer合计数量的问题,页面初始化的时候不加载datagrid数据,初始化完成后需要读取form中的项目值然后加载对应的数据到
datagrid中,问题代码如下:
$('#grid').datagrid({ showFooter:true }); $('#form').form({ onLoadSuccess:function(data){ //datagrid $('#grid').datagrid({ url:'/grid/getData?id='+$('#id').val()+'&r='+Math.random() }); } });
结果datagrid不显示页脚footer,列数据能显示正常,分析问题原因是因为页面创建datagrid的时候因为没有数据导致错误,firefox中提示rows未定义,当然未定义了,因为我根本没给datagrid赋值,这样datagrid的页脚就显示不出来,那么怎么修改呢,参考了我以前写的文章[原创]EasyUI的DataGrid合击汇总页脚使用教程得到解决办法,那就初始化的时候给datagrid一个空的数据集,让它顺利初始化完成,然后再当form加载成功后更换它的数据,代码如下:
var nullData='{"rows":[],"total":0;"footer":{"Footer":"合计","num":0}}'; var json=eval('(' + nullData + ')'); $('#grid').datagrid({ data:json, showFooter:true }); $('#form').form({ onLoadSuccess:function(data){ //datagrid $('#grid').datagrid({ url:'/grid/getData?id='+$('#id').val()+'&r='+Math.random() }); } });