首先我们可以看到,在自动调整大小后,列的宽度不是最佳的。由于getAutoResizableWidth
在计算最佳大小时使用的方法假设所有行的填充是都是相同的,因此存在此问题。存在宽度为0px的第一行,其类别为jqgfirstrow
,而不是在具有数据的其他行中使用的类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 {
padding: 0 15px 0 15px;
}
,并考虑增加列标题的填充另外:
.ui-jqgrid .ui-jqgrid-htable th {
padding: 0 15px 0 15px;
}
.ui-jqgrid .ui-jqgrid-resize-ltr {
margin: -2px -15px -2px 0;
}
关于切断单元格中的文本,我认为存在对padding
的误解。文本不必被切断。我不太了解CSS,但我建议您将每个单元格的内容放在<div>
之内,这些内容的CSS属性为overflow: hidden
。它将遵循案件内容的切割。相应的代码
$("#" + _jqgridSpreadsheetId).bind("jqGridAfterLoadComplete jqGridAfterAddRow", function() {
$(this).find("tr.jqgrow>td").wrapInner("<div style='overflow: hidden;'></div>");
});
会降低网格的性能,但它会使文字像你想要的。建议在之前添加代码,网格将被创建。只有在这种情况下,您才能确信代码将在第一次加载网格时起作用。
最后一句话。您应该在jquery-v2.0.3.min.js
的相同文件夹中添加jquery-2.0.3.min.map
,因为在jquery-v2.0.3.min.js
中存在//@ sourceMappingURL=jquery-2.0.3.min.map
评论。以相同的方式jquery-2.0.3.min.map
通常包含"sources":["jquery-2.0.3.js"]
,因此您还应该包含非压缩文件jquery-2.0.3.js
。当前正在加载的你在调试器演示产生在控制台以下错误信息:
HTTP404:NICHT GEFUNDEN:明镜服务器帽子keineÜbereinstimmungen献给 书房angeforderten URI(统一资源标识符)gefunden。 (XHR): GET - https://dealerapp-dev.bookitout.com/Member/Scripts/jquery-v2.0.3/jquery-2.0.3.min.map
奥列格:这是吸吮jQuery的地图文件。 4年前我重命名了jquery文件并没有看到错误。现在全部修好了。列单元格填充现在很有用。这是很多CSS类名称。 :-)不会砍掉这个文本。再次感谢。 – fletchsod
在3-6个月中,我将开始通过ASP.NET GridView迁移到jqGrid v4.9.2(针对Razor/Controller的Junking WebForm)。好奇的是,在你开始研究jqGrid v4.10增强功能之前一段时间,比如2年后还是有些什么?只是想知道,因为我有2个网页使用jqGrid v4.5与许多丑陋的黑客(感谢托尼),并不想将它们迁移两个。 – fletchsod
@fletchsod:不客气! – Oleg