2つの異なるモードでテーブルを表示するページがあります。各モードには、異なる列のセットがあります。 jqGridを使用してテーブルを表示しています。テーブルを2回目にロードしようとすると(同じ列または異なる列を使用して)、テーブルはデータを更新しません。
データをリロードするための別のAPIはありますか?または、最初にテーブルをクリアするために何らかの方法を使用する必要がありますか?
メソッド「GridUnload」を使用すると、グリッドがアンロードされ、元のHTMLテーブルが残ります。グリッドを作成するための次の呼び出しは、任意のスキーマで最初から開始されます
私は今日、これと同じ問題に遭遇しました。 jqGridを使用して、1つ以上のフォームフィールドで指定されたパラメーターからの検索結果を表示します。検索ボタンにクリックイベントがあり、フィールド自体にキーダウンイベントがあり、リターンキーをキャプチャします。どちらのイベントも、フォームをシリアル化し、最初のjqGridを作成する関数を呼び出します。
最初のグリッドでは、gridCompletesのときに関数reloadEventsを呼び出すオプションがあります。
gridComplete: reloadEvents
ReloadEvents関数には次のものがあります。
$("#frmSearch").bind("keydown", function(e) {
if (e.keyCode == 13) {
$('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()});
$('#searchList').trigger("reloadGrid");
}
});
$('#btnSearch').click(function(){
$('#searchList').setGridParam({url:'/model/actSearch.cfm?'+$('#frmSearch').serialize()});
$('#searchList').trigger("reloadGrid");
});
別の方法でグリッドにデータをロードする場合は、setGridParamを使用して必要なものを変更できます。 reloadGridメソッドは、変更したパラメーターに基づいてデータを更新する必要があるものです。