Jqgrid 手动覆盖列单元格左/右填充无效

Jqgrid 手动覆盖列单元格左/右填充无效,jqgrid,free-jqgrid,Jqgrid,Free Jqgrid,演示可以在链接remvoed中找到,并使用jqgrid版本4.9.2 在那里,你会发现我做了一个链接引用到单独的CSS文件在 在该文件中,我覆盖了ui.jqgrid.css中的默认左/右填充,在ui.jqgrid.css中将其从2px更改为15px 左侧填充效果很好,但右侧填充是隐藏的(或被切掉) 如何使其不被截断?首先,您可以看到,自动调整大小后,列的宽度不是最佳的。该问题的存在是因为在计算最佳大小时使用的getAutoResizableWidth方法假设所有行的填充相同。存在宽度为0px的第

演示可以在
链接remvoed
中找到,并使用jqgrid版本4.9.2

在那里,你会发现我做了一个链接引用到单独的CSS文件在

在该文件中,我覆盖了
ui.jqgrid.css
中的默认左/右填充,在
ui.jqgrid.css
中将其从
2px
更改为
15px

左侧填充效果很好,但右侧填充是隐藏的(或被切掉)


如何使其不被截断?

首先,您可以看到,自动调整大小后,列的宽度不是最佳的。该问题的存在是因为在计算最佳大小时使用的
getAutoResizableWidth
方法假设所有行的填充相同。存在宽度为0px的第一行,该行具有class
jqgfirstrow
,而不是在具有数据的其他行中使用的class
jqgrow
。要解决此问题,还应调整
.ui jqgrid tr.jqgfirstrow>td

.ui jqgrid tr.jqgfirstrow>td{padding:0 15px 0 15px;}
我建议您使用以下更常见的CSS规则:

.ui jqgrid tr.jqgfirstrow>td,
.ui jqgrid tr.jqgrow>td,
.ui jqgrid tr.jqgroup>td,
.ui jqgrid tr.jqfoot>td,
.ui jqgrid tr.jqfoot>td,
.ui jqgrid tr.footrow>td{
填充:0 15px 0 15px;
}

并考虑增加列标题填充:

.ui jqgrid.ui jqgrid htable th{
填充:0 15px 0 15px;
}
.ui jqgrid.ui jqgrid resize ltr{
余量:-2px-15px-2px 0;
}
关于切掉单元格中的文本,我认为存在着对填充的误解。文本不必删掉。我不太了解CSS,但我可以建议您将每个单元格的内容放在
中,这些单元格具有CSS属性
溢出:隐藏
。它将跟随案例中内容的剪辑。对应的代码

$(“#”+_jqgridSpreadsheetId).bind(“jqGridAfterLoadComplete jqGridAfterAddRow”,函数(){
$(this.find(“tr.jqgrow>td”).wrapInner(“”);
});
这会降低网格的性能,但会让你随心所欲地切掉文本。建议在创建网格之前添加代码。只有在这种情况下,您才能确保代码在第一次加载网格时工作

最后一句话。您应该添加
jquery-2.0.3.min.map
,并将其添加到与
jquery-v2.0.3.min.js
相同的文件夹中,因为注释
/@sourceMappingURL=jquery-2.0.3.min.map
存在于
jquery-v2.0.3.min.js
中。同样地,
jquery-2.0.3.min.map
通常包含
“源”:[“jquery-2.0.3.js”]
,因此您也应该包含非压缩文件
jquery-2.0.3.js
。当前,在调试器中加载演示程序会在控制台中产生以下错误消息:

HTTP404:NICHT GEFUNDEN:keineÜBEREINSTINTIMmunigen für的服务器 den angeforderten URI(统一资源标识符)gefunden。(XHR): 得到-


Oleg:这就是jquery映射文件的不足之处。4年前我重命名了jquery文件&没有看到错误。现在都修好了。列单元格填充现在效果很好。这是许多CSS类名。:-)我不打算在这篇文章上删掉文字。再次感谢。3-6个月后,我将开始通过ASP.NET GridView迁移到jqGrid v4.9.2(废弃Razor/Controller的Web表单)。好奇的是,在您开始开发jqGrid v4.10增强版之前,是否需要一段时间,比如2年后?我只是想知道,因为我有两个使用jqgridv4.5的网页,其中有很多难看的黑客(多亏了Tony)&我还不想把它们迁移两个。
.ui-jqgrid tr.jqgrow > td { padding: 0 15px 0 15px; }