2024年3月24日发(作者:)
解决当easyui datagrid列很多,当没有查询到数据时不会出现横向滚动条的问题
一:网上有好多方法都是说在onLoadSuccess方法中,当没有数据时增加一行空数
据,然后再隐藏
onLoadSuccess:function(data){
if(==0){
$('#searchLogGrid').datagrid('insertRow',{
row: {
}
});
$("tr[datagrid-row-index='0']").css({"visibility":"hidden"});
}
}
但是我有一些报表牵涉到和并列,怕用这种引起其他问题
二:大概想到了一种思路,就是在onLoadSuccess方法中,若没有查询到数据,则
在存在数据的div中增加一个border为0,宽度为所有列宽之和的div,强制生成滚动条
为了不在每一个页面都更改,所以更改了easyui的源码,在调用datagrid的
onLoadSuccess方法后,判断增加div
我用的是,大概是在8351行
(_5a8,data);
增加如下代码
//add 2015-01-13 当datagrid没有查询到数据时,在存放数据的div中增加一个边
框为0的div,其宽度为所有列宽度之和
//强制生成滚动条
//_:datagrid的id
if(data==null || ==0){
if(_!=undefined && _!='' && $('#'+_).length>0){
var obj = $('#'+_).parent().find('.datagrid-view2 .datagrid-header') ;
if(>0 && ('.datagrid-header-row').length>0){
var width = ('.datagrid-header-row').width() ;
var divStr = '
' ;if($('#'+_).parent().find('.datagrid-view2 .datagrid-body').length>0)
$('#'+_).parent().find('.datagrid-view2 .datagrid-body').append(divStr)
}
}
}


发布评论