经过源码的分析,需要变化宽度的有有个地方,一个是表头的宽度,另一处是表身的宽度。
表头的宽度取决定性作用的是tr.datagrid-header-row 下的div.datagrid-header-rownumber 这个标签。然后修改只需要在renderRow 方法里面修改几行代码就行,我用的是easyui 1.3.5版本的 可能其他版本略微有区别,但我认为区别不会大的,希望以下代码对你有用
renderRow : function(_698, _699, _69a, _69b, _69c) {
// 修改处1
var _self = $.data(_698, "datagrid");
// 修改处2
var opts = _self.options;
var cc = [];
if (_69a && opts.rownumbers) {
var _69d = _69b + 1;
if (opts.pagination) {
_69d += (opts.pageNumber - 1) * opts.pageSize;
}
// 修改处3
var _69dWidth = 25 + Math.max(String(_69d).length - 4, 0)*6 + "px";
// 修改处4
_self.dc.header1.find(".datagrid-header-rownumber").width(_69dWidth);
// 修改处5
cc
.push("<td class='datagrid-td-rownumber'><div style='width:"+_69dWidth+"' class='datagrid-cell-rownumber'>"
+ _69d + "</div></td>");
}
主要变化的有上面五处地方