データベースを使用して検索テンプレートを保存およびロードしようとしています。その間、tmplLabel、tmplNames、tmplFilters の値を変更できません。サーバーにアクセスしてデータを取得し、3 つの変数に格納する loadTemplates() 関数を呼び出しています。この関数は、loadComplete() で呼び出されています。テンプレートの値をリセットする方法を教えてください。私はhttp://www.trirand.com/blog/jqgrid/jqgrid.htmlのようなものについて話している
1078 次
1 に答える
0
テンプレートの検索は、あまり使用されない興味深い機能です。これを使用するには、検索モジュールのパラメーターtmplNames
であるとtmplFilters
(オプションtmplLabel
で ) を使用する必要があります。オプションを追加で使用することが重要な場合。したがって、次のオプションを設定できますrecreateFilter: true
var mySearchOptions = {
// it's just some options which you use
multipleSearch: true,
multipleGroup: true,
recreateFilter: true,
closeOnEscape: true,
closeAfterSearch: true,
overlay: 0
},
$grid = $("#grid");
$grid.jqGrid({
// ... your jqGrid options
loadComplete: function (data) {
// you should modify the next line correspond to the place of
// tmplNames and tmplFilters in the server response
if (data.tmplNames && data.tmplFilters) {
mySearchOptions.tmplNames = data.tmplNames;
mySearchOptions.tmplFilters = data.tmplFilters;
}
}
});
$grid.jqGrid('navGrid', {/*navGrid option*/}, {/*Edit options*/}, {/*Add options*/},
{/*Del options*/},
mySearchOptions);
あなたはすでに正しいコードを持っていると思いますが、recreateFilter: true
オプションを使用していません。そのため、現在のオプションでダイアログを再作成する代わりに、以前に開いた検索ダイアログが表示されます。
PS jqGrid 4.3.2 のソースをさらに更新することをお勧めします (回答を参照してください)。キーボードのサポートが向上し、検索ダイアログでオプション、コールバック、カスタム コントロールを使用できるようsearchOnEnter
になります (回答を参照してください)。closeOnEscape
afterChange
于 2012-04-24T21:54:10.237 に答える