状況になっています。再サイジング、並べ替え、列を非表示にした後、状態をグリッドに保存する必要があります。JqGrid:列の再配置後に列フィルタを埋め込む状態を復元する
フィルタの列が移動された後(columnchooser)、列フィルタ(ドロップダウン、テキストフィールド、日付選択)が正しい列に復元されない点を除き、すべて正常です。
次のJavaScriptを使用すると、必要なもの(サイズ、順序、列の可視性)をほとんど復元できますが、右側の列のフィルタを復元することはできません。 (フィルターはどこ彼らが必要後、いくつかの列が表示されます。
var listName = jQuery('#list').jqGrid('getGridParam', 'customName');
var colModel = LoadColumnModel(listName);
var perm = jQuery.cookies.get(listName + '_list_perm');
var rowNumber = jQuery.cookies.get(listName + '_list_rowNumber');
if (colModel) {
var grid = jQuery('#list');
for (var i = 0; i < colModel.length; i++) {
var column = colModel[i];
if (column.hidden) {
grid.jqGrid('hideCol', column.name);
};
***//I hoped next line would do the trick, but it didn't :(***
if (column.search && column.searchoptions) {
grid.jqGrid('setColProp', column.name, { search: true, searchoptions: column.searchoptions });
};
}
grid.jqGrid('setGridParam', { colModel: colModel });
loadGrid = false;
if (rowNumber) {
grid.jqGrid('setGridParam', { rowNum: rowNumber });
jQuery('.ui-pg-selbox').val(rowNumber);
}
grid.trigger('reloadGrid');
if (perm) {
grid.jqGrid("remapColumns", perm, true);
}
}
誰もが手掛かりを持っている?
すべての豊富な情報へのリンクありがとうございますが、何も選択されていないと多くの情報を含んでいないpostDataは必要ありません。グリッドを復元した後に、右の列にフィルターを表示する必要がありますコラムは並べ替え/隠されています。この時点で私はフィルターの価値は必要ありません。 – Steven
@Steven:検索の際に 'postData'を見てください。検索フィルタに関する完全な情報が含まれています。たとえば、[答え](http://stackoverflow.com/a/4977896/315935)のデモを見てください。あなたは "フィルター"について何を意味しますか?それは多くの点で解釈できる。高度な検索や 'filterToolbar'を使用していますか?あらゆる種類の検索は、グリッドに適用されるフィルタです。検索ツールバーの補充が必要な場合は、[別の回答](http://stackoverflow.com/a/6884755/315935)をご覧ください。 – Oleg
あなたの迅速な答えをありがとう、申し訳ありませんが私の問題を正確に指摘していないため。私は確かに、列ヘッダーの下とグリッドデータの上に表示されるfiltertoolbarを意味します。私は多くの列に "ドロップダウンフィルター"を使用します。しかし、私の問題は、検索後に選択された値を復元するのではなく、単にfiltertoolbarの右の列にフィルターの位置を復元することです。この時点で、私はcollumchooserのcollumnsをrearange、列の順序(columnindex)を変更するか、またはそれらを隠す。フィルタは適切な列に表示されません。私がそこに解決策を見つけることができるなら、私はあなたの例を見ています。 – Steven