現在の要件はボタンをクリックすることです。テーブルヘッダーとデータに関する情報を含むajaxを介してjsonデータを取得しています。jqgrid を使用してテーブル データを表示したいので、次のコードを使用して jqgrid を準備しています。
$("#fixedId").jqGrid({
datatype: 'clientSide',
colNames:colName,//from json response
colModel :colModels,//from json response
pager: '',
shrinkToFit:true,
autowidth:true,
rowNum:10,
rowList:[10,20,30],
emptyrecords: "Empty records",
viewrecords: true,
width: '100%',
height: '100%',
altRows:true,
scrollOffset: 0,
gridview: true,
rownumbers:false,
multiselect:false,
multiboxonly:false,
caption: ''
});
$("#"+tableId).jqGrid('gridResize', { minWidth: 450, minHeight: 200 });
jqgridaddRowData
関数を使用して、この新しく作成されたテーブルにデータを追加しています。
そのため、初めて問題なく動作しています。この新しいテーブルの詳細をajax経由で描画するための新しいjson応答を取得すると、古いテーブルを削除する必要があるため、試した古いテーブルデータを削除します
1) $("#fixedId").remove();
..を使用してテーブルタグを再作成しました。
$("#tableParent").append('<table id=fixedId><tr><td /></tr></table>');
そして、以前のコードを再呼び出しして、新しいヘッダーとデータでこの新しいテーブルを作成しますが、この新しいヘッダーとデータ テーブルは画面に描画されません。画面は空のままで、画面にテーブルが表示されませんでした。
2) やってみた
$("#gbox_fixedId").remove();
ステップ1を繰り返して新しいテーブルを生成し、データを追加しました..再び同じ結果..画面にテーブルが表示されませんでした。
3) やってみた
$("#gbox_fixedId").find(".ui-jqgrid-htable").remove();
このオプションは機能していますが、新しいテーブルを 3 ~ 4 回再描画した後、描画された各テーブルが少し歪んで見え、さらに再描画するとテーブルが使いにくくなります。
古いjqgridを削除して、スムーズに動作するように新しい/クリーンなjqgridを作成するにはどうすればよいですか?