0

jqGrid の編集モーダルに幅を追加すると、その後のパラメーター (つまり、add:falsecloseAfterEdit: trueなど) が機能しなくなります。いろいろなところで試しましたが、うまくいきません。

jQuery("#prodgrid").jqGrid('navGrid', '#pager', {width: 1000},{edit: true, add: false, del: false, search: false}, {closeAfterEdit: true},  {closeAfterAdd: true});

ご参考までに:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.8.0/js/i18n/grid.locale-en.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.8.0/js/jquery.jqgrid.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
4

1 に答える 1

0

の間違ったオプションを使用していますnavGridドキュメントを調べると、使用するパラメータの位置が間違っていることがわかります。正しいのは

$("#prodgrid").jqGrid('navGrid', '#pager',
    {add: false, del: false, search: false},
    {closeAfterEdit: true, width: 1000},
    {closeAfterAdd: true, width: 1000});

edit: true(すでにデフォルト値なのでスキップできます)。

無料の jqGrid を使用しているようです。jqGrid オプションの指定が容易になります。まず、スキップできます'#pager'。この場合、jqGrid は、グリッドの作成中に既に指定したページャーを使用するだけです。page: true使用法ではなく、グリッドのオプションで指定できる秒数pager: '#pager'。この場合、空を作成する必要はありません<div id="pager"></div>。無料の jqGrid を使用page: trueすると、対応する div が自動的に作成されます。さらに、 のオプションは'navGrid'独立した部分に分かれています:navGridオプション{edit: true, add: false, del: false, search: false}とフォーム編集のオプション:{closeAfterEdit: true, width: 1000}{closeAfterAdd: true, width: 1000}. 無料の jqGrid を使用すると、グリッドの作成中にオプションを直接指定して、次の単純化された形式の呼び出しを使用できますnavGrid

$("#prodgrid").jqGrid({
    // here there are all other standard option which you already use
    pager: true,
    navOptions: {add: false, del: false, search: false},
    formEditing: {closeAfterEdit: true, closeAfterAdd: true, width: 1000}
}).jqGrid("navGrid");

jqGrid のオプションのコーディング スタイルの詳細については、こちらを参照してください。個人的には、名前付きパラメーターを配置パラメーターよりもはるかに好きです。誰もがコードを読みやすくなるからです。

于 2015-04-24T17:21:38.207 に答える