0

列順列情報をテーブルに保存しました。この情報は beforeRequest イベントでリロードできます。

mynewperm = {....};

myGrid.jqGrid("remapColumns", mynewperm, true);

列が正しく並べ替えられます。しかし、ヘッダーアイコンを失いました。列ヘッダーをクリックすると、並べ替えアイコンが表示されなくなり、列を並べ替えることができなくなります。どうすれば元に戻せますか?

ありがとうございました、

ええ

4

4 に答える 4

2

コードを変更できる場合は、未定義の a.grid.headers[aplastsort] をテストできます。

ソース ファイルでは、次のようになります。

// old 
var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el

// new:
var previousSelectedTh = ts.grid.headers[ts.p.lastsort] ? ts.grid.headers[ts.p.lastsort].el : null
于 2012-10-24T10:13:23.373 に答える
1

jquery.jqGrid.src.js実際、ソースを見ると、行は次のとおりです。

var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el, newSelectedTh = ts.grid.headers[idxcol].el;

私のバージョンでは1982行目。ファイルを変更して修正し、その行の直前にこれを追加しました:

        if (ts.p.lastsort < 0)  // johnl.
            ts.p.lastsort = 0;

問題はts.p.lastsort-1 だったことです。

于 2013-02-01T22:30:45.230 に答える
0

私は同じ問題を抱えています:

「loadComplete」イベントで「remapColumns」メソッドを適用するため、追加されます(Cookieからユーザー列の構成を取得します)。

そのため、列を並べ替えようとしても何も起こりません。firebug でこのエラーが発生しました:

a.grid.headers[aplastsort] が未定義 -> jquery.jqGrid.min.js (93 行目)

問題が何であるかを見つけるのに役立つかもしれません

ありがとうございました

于 2012-04-26T14:38:40.347 に答える