jQuery EasyUI 1.5版本的Datagrid终于新增了表格加载的数据没有记录的时候,可显示“无记录”的提示语

jQuery EasyUI 1.5版本的Datagrid终于新增了表格加载的数据没有记录的时候,可显示“无记录”的提示语


jQuery EasyUI1.5版本的Datagrid终于新增了表格加载的数据没有记录的时候,可显示“无记录”的提示语(PS:这功能以前都是自己写的,现在终于可以利用API了)。不过试用之下发现,设置了居然没用,而且官网的API更新里面并没有写明是API的属性名,于是乎自己查看了一下源代码并分析了一下发现EasyUI官方实在太不上心了,这里之所以没用,有如下几个原因:
  • 官网API更新的时候漏掉了该API,没有放出;
  • 即便利用该隐藏大招也依然无法显示,这是因为官网API里面的BUG;
哎,官方不给力,那就自己动手解决吧,解决方法如下:
  • API属性名:emptyMsg
  • API属性值:支持文本和DOM节点(HTML代码)
  • 打开jquery.easyui.min.js文件和jquery.datagrid.js文件修复bug
BUG修复方法
【jquery.easyui.min.js】

11289行:
d.html(opts.emptyMsg).css("top",h+"px");
后面增加一行代码:
_84d.dc.view.height(_84d.dc.view.height() + h);

10569行:
$(_7a9).datagrid("loadData",data);
修改为:
if(data.total>0){
      $(_7a9).datagrid("loadData",data);
}

如果使用插件版的datagrid就调整下面的文件,如果不用的话就不需要修改了。

【jquery.datagrid.js】
2427行:
d.html(opts.emptyMsg).css("top",h+"px");
后面增加一行代码:
_24b.dc.view.height(_24b.dc.view.height() + h);

1707行:
$(_1a7).datagrid("loadData",data);
修改为:
if(data.total>0){
$(_1a7).datagrid("loadData",data);
}

改好以后保存即可尝试效果了,在创建datagrid的属性里面增加emptyMsg属性即可,例如:
$("#dg").datagrid({
      iconCls:'icon-edit',
        singleSelect:true,
        toolbar:'#tb',
        url:'datagrid_data1.json',
        method:'get',
        emptyMsg:'<span>无记录 </span>',
        onClickCell:onClickCell,
        onEndEdit:onEndEdit

});


转载自:http://blog.sina.com.cn/s/blog_58cfda2a0102wlqo.html