列順列情報をテーブルに保存しました。この情報は beforeRequest イベントでリロードできます。
mynewperm = {....};
myGrid.jqGrid("remapColumns", mynewperm, true);
列が正しく並べ替えられます。しかし、ヘッダーアイコンを失いました。列ヘッダーをクリックすると、並べ替えアイコンが表示されなくなり、列を並べ替えることができなくなります。どうすれば元に戻せますか?
ありがとうございました、
ええ
列順列情報をテーブルに保存しました。この情報は beforeRequest イベントでリロードできます。
mynewperm = {....};
myGrid.jqGrid("remapColumns", mynewperm, true);
列が正しく並べ替えられます。しかし、ヘッダーアイコンを失いました。列ヘッダーをクリックすると、並べ替えアイコンが表示されなくなり、列を並べ替えることができなくなります。どうすれば元に戻せますか?
ありがとうございました、
ええ
コードを変更できる場合は、未定義の 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
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 だったことです。
私は同じ問題を抱えています:
「loadComplete」イベントで「remapColumns」メソッドを適用するため、追加されます(Cookieからユーザー列の構成を取得します)。
そのため、列を並べ替えようとしても何も起こりません。firebug でこのエラーが発生しました:
a.grid.headers[aplastsort] が未定義 -> jquery.jqGrid.min.js (93 行目)
問題が何であるかを見つけるのに役立つかもしれません
ありがとうございました