ナビゲーションバーから「追加」ボタンを削除しない理由がわかりません。ナビゲーションバーを作成するにnavGrid
は、jqGridのメソッドを明示的に呼び出します
jQuery("#grid_id").navGrid('#gridpager');
また
jQuery("#grid_id").jqGrid('navGrid', '#gridpager');
ただし、navGrid
追加のパラメーターがあります(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:navigatorを参照)。だからあなたが使うなら
jQuery("#grid_id").navGrid('#gridpager', {add: false});
「追加」ボタンはありません。
「追加」ボタンが必要な場合は、状況をより明確に説明してください。ちなみに、http://www.trirand.com/jqgridwiki/doku.php?id = wiki:custom_buttonsで説明されている方法で、自分の側から完全に制御できるカスタムボタンを追加できます。ページ下部の[フレームワークアイコン]領域にあるアイコンの上にカーソルを置くと、ページhttp://jqueryui.com/themeroller/にあるアイコンの名前。カスタムボタンには、[追加]ボタンと同じアイコンを付けることができます。それはあなたの問題を解決できますか?
更新:あなたのコメントの後、私はあなたの問題を理解しました。addfunc
のオプションを使用することを提案できますnavGrid
(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:navigator&s[]=navgridを参照)。したがって、コードは次のようになります。
var grid = jQuery("#grid_id").navGrid('#gridpager', {addfunc: function() {
var sel_id = grid.getGridParam('selrow');
if (sel_id) {
grid.editGridRow("new", pAddOption);
} else {
viewModal("#alertmod", { gbox: "#gbox_" + grid_id, jqm: true });
jQuery("#jqg_alrt").focus();
}
}});
この例では、行が選択されている場合にのみ[追加]ボタンをクリックできます。「行を選択してください」(grid.locale-en.jsまたは使用する他のローカリゼーションファイルの$.jgrid.nav.alerttext
内部を定義するテキスト)のようなテキストを含むメッセージボックスが表示されます。このコードフラグメントをマスターグリッドに配置できます。
「追加」操作を拒否する場合のコードは簡単です。ここに、jqGrid自体を使用するコードフラグメントをコピーしました。代わりに、カスタムエラーメッセージを表示できます。