您的位置:首页 > 产品设计 > UI/UE

Easyui Datagrid rownumbers行号四位、五位显示不完全的解决办法

2014-12-15 17:39 330 查看
第一种:扩展方法



代码:

$.extend($.fn.datagrid.methods, {

fixRownumber : function (jq) {

return jq.each(function () {

var panel = $(this).datagrid("getPanel");

//获取最后一行的number容器,并拷贝一份

var clone = $(".datagrid-cell-rownumber", panel).last().clone();

//由于在某些浏览器里面,是不支持获取隐藏元素的宽度,所以取巧一下

clone.css({

"position" : "absolute",

left : -1000

}).appendTo("body");

var width = clone.width("auto").width();

//默认宽度是25,所以只有大于25的时候才进行fix

if (width > 25) {

//多加5个像素,保持一点边距

$(".datagrid-header-rownumber,.datagrid-cell-rownumber", panel).width(width + 5);

//修改了宽度之后,需要对容器进行重新计算,所以调用resize

$(this).datagrid("resize");

//一些清理工作

clone.remove();

clone = null;

} else {

//还原成默认状态

$(".datagrid-header-rownumber,.datagrid-cell-rownumber", panel).removeAttr("style");

}

});

}

});

调用:
$("#easyui-datagrid").datagrid({

onLoadSuccess : function () {

$(this).datagrid("fixRownumber");

}

});

第二种方法:直接设置行号栏的宽度,修改了样式,临时解决方案


.datagrid-header-rownumber,.datagrid-cell-rownumber{

width:40px;

}


推荐使用扩展
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: