trueに設定されたグリッドでjqGridナビゲーターのリロードボタンを使用loadonce
します。
現在、リロードボタンはデータを取得するためにサーバーに戻りません-最新のデータを取得するためにリロードをサーバーに移動するにはどうすればよいですか?
代わりにコールバックを使用しbeforeRefresh
てグリッドdata
をに設定できると思いますが、メソッドを構成する方法すらわかりません-ドキュメントを本当に理解していません。json
local
beforeRefresh
trueに設定されたグリッドでjqGridナビゲーターのリロードボタンを使用loadonce
します。
現在、リロードボタンはデータを取得するためにサーバーに戻りません-最新のデータを取得するためにリロードをサーバーに移動するにはどうすればよいですか?
代わりにコールバックを使用しbeforeRefresh
てグリッドdata
をに設定できると思いますが、メソッドを構成する方法すらわかりません-ドキュメントを本当に理解していません。json
local
beforeRefresh
問題を抱えているのはあなただけではありません。私は前に同じ質問に答えました。サーバーからグリッドコンテンツをリロードするには、datatype
パラメーターを元の値「json」または「xml」にリセットしてから、グリッドを更新する必要があります。例えば
jQuery("#list").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
更新: beforeRefreshイベントハンドラー内の行を呼び出すには、次のようにします
jQuery("#list").jqGrid('navGrid','#pager',
{ edit:false,view:false,add:false,del:false,search:false,
beforeRefresh: function(){
alert('In beforeRefresh');
grid.jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
}
});
古い質問から例を変更しました。ここで更新ボタンをクリックすると、コードがどのように機能するかをライブで確認できます。
更新2:無料のjqGridはいくつかの新しいオプションをサポートします。reloadGrid
イベントはfromServer: true
、サーバーからのデータの強制的な再ロードに使用できるパラメーターをサポートし、[更新]ボタンをクリックしたときに使用されるオプションを指定するために使用できるオプションをnavGrid
サポートします。したがって、上記のコードは次のようになります。reloadGridOptions
reloadGrid
$("#list").jqGrid("navGrid", {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
});
ちなみに、navOptions
jqGridのオプションを使用してのデフォルトオプションを指定できますnavGrid
(wikiの記事を参照)。それは次のようなコードを書くことを可能にします
$("#link").jqGrid({
// all typical jqGrid parameters
datatype: "json", // or "xml"
loadonce: true,
pager: true, // no empty div for page is required
navOptions: {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
}
}).jqGrid("navGrid");
私は次の設定を試しましたが、動作します。
<script type="text/javascript">
jQuery(function() {
jq("#YOUR-GRID-ID").jqGrid({
...
loadonce: true,
...
});
jQuery("#refresh_YOUR-GRID-ID").click(function(){
jQuery("#YOUR-GRID-ID").setGridParam({datatype: 'json'});
jQuery("#YOUR-GRID-ID").trigger("reloadGrid");
});
});
</script>