2017-09-19 8 views
0

私は簡単なjqGridを設定しており、インライン編集と削除を行いますが、ページャに追加ボタンを表示しようとしています。私はデフォルトの追加アクションから始めますが、追加ボタンを表示する方法を覚えていないようです。無料のjqGridでそれを行うきれいな方法を知りたいと思います。無料jgGridはページャに追加ボタンを表示します

ここに現在のコードがあります。ありがとう。

$('#press_op_setup').jqGrid({ 
     url:'grid.php', 
     postData:{ 
      'arg1':'press_ops' 
     }, 
     height: 'auto', 
     datatype: 'xml', 
     mtype: 'POST', 
     width: 400, 
     colNames:[ 
      'id', 
      'Emp Num' 
     ], 
     colModel:[ 
      {name: 'id', hidden: true, key: true}, 
      {name: 'empnum'} 
     ], 
     inlineEditing: {addRow: {}}, 
     sortname: 'empnum', 
     sortorder: 'asc', 
     viewrecords: true, 
     gridview: true, 
     caption: 'Press Operators', 
     rowNum: 100, 
     pager: true 
    }); 
}) 
+0

私はあなたが必要とするものを正しく理解しているかどうかはわかりません。少なくとも 'inlineNav'メソッド、または' navGrid'と 'inlineNav'の両方を呼び出す必要があります。 jqGrid( "navGrid").. jqGrid( "inlineNav()";} ';' 'の呼び出しの最後に、 ");'。 jqGrid: 'navOptions:{add:false、edit:false、search:false、refresh:false}'と 'inlineNavOptions:{add:true、edit:true}'にオプションを追加できます。それはあなたが必要とするものですか? – Oleg

答えて

1

私はあなたが必要とするものを正しく理解しているかどうかはわかりません。少なくともinlineNavメソッド、またはnavGridinlineNavの両方を呼び出す必要があります。グリッドを作成した直後にメソッドを呼び出すことができます。 navOptionsinlineNavOptionsを使用すると、追加のオプションをnavGridinlineNavと指定できます。あるいは、同じオプションをnavGridinlineNavメソッドのオプションとして直接使用することもできます。

1つのことは、単純な方法では動作しません。ナビゲータバー(ページャ)内のボタンを並べ替えることです。 append,prependのようなjQueryメソッドを使用してDOM要素を移動することもできます。例えば、あなたのコードは次のようになります。

$('#press_op_setup').jqGrid({ 
    url:'grid.php', 
    postData:{ 
     'arg1':'press_ops' 
    }, 
    datatype: 'xml', 
    mtype: 'POST', 
    width: 400, 
    colNames:[ 
     'id', 
     'Emp Num' 
    ], 
    colModel:[ 
     //{name: 'id', hidden: true, key: true}, 
     {name: 'empnum'} 
    ], 
    inlineEditing: { keys: true }, 
    sortname: 'empnum', 
    sortorder: 'asc', 
    viewrecords: true, 
    caption: 'Press Operators', 
    rowNum: 100, 
    pager: true, 
    navOptions: { add: false, edit: false, search: false, refresh: false }, 
    inlineNavOptions: { add: true, edit: true } 
}).jqGrid("navGrid") 
    .jqGrid("inlineNav"); 
$("#press_op_setup_iladd").prependTo($("#press_op_setup_iladd").parent()); 

私は不要な隠されたid列を削除しました。行の属性id<tr>)が既に設定されています。同じ情報のコピーを隠した<td>グリッドの要素に保持する必要はありません。

無料のjqGridのデフォルトである不要なheight: 'auto'gridview: trueのオプションを削除しました。空のaddRow: {}inlineEditingの内側にも不要です。上記のkeys: trueのように設定する必要があるプロパティのみを指定する必要があります。

+0

たとえば、このフィドルでは、ページャに追加するプラスボタンが必要ですが、ボタンがまだ表示されないこれらの追加手順を使用しているようです。 https://jsfiddle.net/yks2rawL/ –

+0

@jeffery_the_wind:申し訳ありませんが、あなたの質問への私の答えとコメントの前に 'navGrid'と' inlineNav'の呼び出しを記述しましたが、コードを呼び出すのを忘れてしまった私の答え。 https://jsfiddle.net/OlegKi/yks2rawL/1/ – Oleg

+0

@jeffery_the_wind:無料のjqGridの最新バージョンを使用するためにデモを追加で変更しました:4.15.0 – Oleg

関連する問題