easyui datagrid 当超过4位数显示不全问题解决

经过源码的分析,需要变化宽度的有有个地方,一个是表头的宽度,另一处是表身的宽度。
表头的宽度取决定性作用的是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>");
			}

主要变化的有上面五处地方

你可能感兴趣的:(easyui datagrid 当超过4位数显示不全问题解决)