jqGrid 4.5.2 - 格式化bug

时间:2013-10-11 15:40:54

标签: javascript jqgrid

我们最近从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');
}

1 个答案:

答案 0 :(得分:1)

我会用其他方式在jqGrid中实现省略号。在为the old demo创建的the answer中,我使用了更具体的 CSS规则,该规则允许在网格的所有列中放置省略号。

The new democlasses: "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"合并,您可以看到以下图片作为结果

enter image description here

所以我不认为所描述的问题是jqGrid 4.5.2中的错误。我认为您应该只调整CSS规则并删除当前使用的自定义格式化程序。