JQueryのjqGridプラグインで行を動的に追加できることがわかりましたが、列でも同じことができますか?単純なテーブルがある場合は、手動でこれを実行することをお勧めしますが、jqGridはテーブル情報を多くのdivに格納します。
JqGridに列を動的に追加することはできません。 colModel
に1列以上追加して、グリッド全体を再作成する必要があります。個別のcolNames
を使用する場合は、配列のサイズも増やす必要があります。たとえば、 GridDestroy を使用して、既存のグリッドを破棄できます。代わりにjQuery.Remove
またはjQuery.Empty
を使用することもできます。
[〜#〜]更新された[〜#〜]: GridUnload の方が目的に適しているようです。グリッドを再作成する方法を示す 小さなデモ を作成しました。 GridUnload または GridDestroy を使用できるようにするには、プロジェクトにgrid.custom.jsが含まれていることを確認する必要があります(jqGridの開発者バージョンを使用している場合)。 jqGridダウンロード ページで「カスタム」「追加メソッド」をチェックしました。
UPDATED 2: ここ からダウンロードできるaddColumn
メソッドを使用できます(jQuery.jqGrid.addColumn.js
を参照)。この方法はまだベータ段階です。メソッドの使用方法を示すいくつかのデモを見つけることができます ここ (addColumnX.htm
の例を参照)。
使用するだけ
$("#gridid").jqGrid('GridUnload');
グリッドを完全にアンロードし、新しい列とデータを再度ロードする準備が整います。
rownumbers:true、およびrownumWidth:25(デフォルト)