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 に答える