解决当easyui datagrid列很多,当没有查询到数据时不会出现横向滚动条的问题
一:网上有好多方法都是说在onLoadSuccess方法中,当没有数据时增加一行空数据,然后再隐藏
onLoadSuccess:function(data){
al==0){
$('#searchLogGrid').datagrid('insertRow',{
row: {
}
});
$("tr[datagrid-row-index='0']").css({"visibility":"hidden"});
}
}
但是我有一些报表牵涉到和并列,怕用这种引起其他问题
二:大概想到了一种思路,就是在onLoadSuccess方法中,若没有查询到数据,则在存在数据的div中增加一个border为0,宽度为所有列宽之和的div,强制生成滚动条
为了不在每一个页面都更改,所以更改了easyui的源码,在调用datagrid的onLoadSuccess方法后,判断增加div
我用的是jquery.easyui.min.1.3.6.js,大概是在8351行
LoadSuccess.call(_5a8,data);
增加如下代码
//add 2015-01-13 当datagrid没有查询到数据时,在存放数据的div中增加一个边框为0的div,其宽度为所有列宽度之和
//强制生成滚动条
//_5a8.id:datagrid的id
if(data==null || ws.length==0){
if(_5a8.id!=undefined && _5a8.id!='' && $('#'+_5a8.id).length>0){
var obj = $('#'+_5a8.id).parent().find('.datagrid-view2 .datagrid-header') ;
if(obj.length>0 && obj.find('.datagrid-header-row').length>0){
var width = obj.find('.datagrid-header-row').width() ;
var divStr = '<div ></div>' ;
if($('#'+_5a8.id).parent().find('.datagrid-view2 .datagrid-body').length>0)
$('#'+_5a8.id).parent().find('.datagrid-view2 .datagrid-body').append(divStr)
}
}
}
css去掉滚动条
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论