4


0

jqgridセルのオーバーフローをHTMLテーブルのように動作させる方法

jqgridがあり、一部のセルにはかなりの量のコンテンツが含まれています。 jqgridのデフォルトでは、オーバーフローが非表示になり、テキストが新しい行に折り返されません(必要な場合)。 jqgridセルを必要に応じて拡張する方法はありますか?

4 Answer


2


colModelの「classes」プロパティを使用できます。例:

colModel: [
        { name: 'ClientName', label: 'Client', index: 'ClientName', width: 150, classes: 'wrappedJqGridCell'},

        .... other columns

        ]

そして、CSSファイルに適切なものを追加します。

.wrappedJqGridCell
{
    white-space: normal !important;
    line-height: 200%;
}

これにより、スタイリングを一元的に処理しながら、セルごとに適用できます。 また、「cellattr」ソリューションのように、JQGrid 4以降を使用する必要はありません。

ラップではなく省略記号(「…​」)を使用する場合は、JQGrid CSSに組み込みのクラスがあり、これは「ui-ellipsis」です。 これはFireFoxでも機能します(通常、省略記号を取得するにはもう少し作業が必要です)。


1


同じ問題があったが、これは答えられず、グーグルで最初に来たので、ここにあります:

/* your grid discriminator*/ tr td
{
    white-space: normal;
    height: auto;
}

また、「overflow:normal」の推奨事項も見つけました。これは合法的なcssでさえありません。 W3Cのリストには載っていないので、FireBugはそれをすぐに食べました。


0


うーん。 明らかな解決策をすでに試しましたか? jqgridに付属のCSSを適応させて、セルがこれを行えるようにしますか?


0


jQGrid v4.0では、colmodelでcellattrを使用します

次のように

colModel: [
            { name: 'ClientName', label: 'Client', index: 'ClientName', width: 150, cellattr: function (rowId, tv, rawObject, cm, rdata) { return 'style="white-space: normal;' } },

            .... other columns

            ]