我们最近从jqGrid 4.4.1升级到jqGrid 4.5.2并注意到我们的一些单元格格式不再有效。
我们以前有一个格式化函数定义为
function addEllipsis(cellvalue) {
return '<div class="ellipsis" title="' + cellvalue + '">' + cellvalue + '</div>';
}
我们会在colModel中使用它,例如
colModel = [
{
name: "longText",
label: "longText",
formatter: addEllipsis
},
...
]
但是,格式化程序不再有效 - 省略号未添加到单元格中。当我降级到jqGrid 4.4.3时它工作正常。但升级到&gt; = 4.5.2会导致省略号消失。
这是4.5版本中的错误吗?
更新:以下是省略号类的CSS。
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
-moz-binding: url('assets/xml/ellipsis.xml#ellipsis');
}
答案 0 :(得分:1)
我会用其他方式在jqGrid中实现省略号。在为the old demo创建的the answer中,我使用了更具体的 CSS规则,该规则允许在网格的所有列中放置省略号。
The new demo在classes: "ellipsis"
中使用colModel
属性。它允许将ellipsis
类放在特定列的<td>
元素上。我使用了CSS规则
.ui-jqgrid tr.jqgrow td.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
该方法的主要优点:您不需要使用自定义格式化程序。在演示中,我将formatter: "date"
与classes: "ellipsis"
合并,您可以看到以下图片作为结果
所以我不认为所描述的问题是jqGrid 4.5.2中的错误。我认为您应该只调整CSS规则并删除当前使用的自定义格式化程序。