0

我们最近从 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 时,它工作正常。但是升级到 >= 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');
}
4

1 回答 1

1

我会以其他方式在 jqGrid 中实现省略号。在为答案创建的旧演示中,我使用了更具体的CSS 规则,它允许在网格的所有列中放置省略号。

新的演示使用classes: "ellipsis". colModel它允许在特定列的元素上放置ellipsis类。我使用了 CSS 规则<td>

.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 规则并删除您当前使用的自定义格式化程序。

于 2013-10-11T16:10:45.297 回答