17


6

グリッド内の各行に新しいウィンドウを表示するボタンを追加します。 この非常に豊富なコントロールでこの機能を見ないでください。 何かが足りない

5 Answer


16


これがjqGridデモページからの一例です。

jQuery( "#rowed2")。jqGrid({url: 'server.php?q = 3'、データタイプ: "json"、colNames:['アクション'、 'Inv No'、 'Date'、 'C​​lient'、 '金額 '、'税 '、'合計 '、'メモ ']、colModel:[{名前:' act '、インデックス:' act '、幅:75、並べ替え可能:false}、{名前:' id '、インデックス: 'id'、幅:55}、{名前: 'invdate'、インデックス: 'invdate'、幅:90、編集可能:true}、{名前: 'name'、インデックス: 'name'、幅:100、編集可能: true:}、{name: 'amount'、index: 'amount'、width:80、align: "right"、editable:true}、{name: 'tax'、index: 'tax'、width:80、align: "正しい"、編集可能:true}、{名前: '合計'、インデックス: '合計'、幅:80、整列: "右側"、編集可能:true}、{名前: 'note'、インデックス: 'note'、 width:150、sortable:false、editable:true}]、rowNum:10、rowList:[10,20,30]、imgpath:gridimgpath、pager:jQuery( '#prowed2')、sortname: 'id'、viewrecords: true、ソート順: "desc"、gridComplete:function(){var ids = jQuery( "#rowed2")。getDataIDs();(var i = 0;)の場合。私"; se = ""; ce = ""; jQuery( "#rowed2")。setRowData(id [i]、{act:be ce}})}、editurl: "server.php"、caption: "カスタム編集"}).navGrid( "#prowed2"、 {編集:false、追加:false、del:false});

また、http://www.secondpersonplural.ca/jqgriddocs/_2kn0mlo1p.htm [カスタムフォーマッタ]を使って行うこともできます。


8


現在最も高い回答は、カスタムボタンコードをloadComplete内に配置します。 それは* gridComplete *であるべきです。 質問に答えてからAPIが変更された可能性があります。


6


colModelでは、次のコードでフォーマッタを使用してフォーマットできます。

フォーマッタ:function(cellvalue、options、rowObject){return ""; }


0


この exampleは役に立つかもしれません。 wikiページおよびhttps://stackoverflow.com/questions/3024075/jqgrid-navigation-based-on-the- Olegからのselected-row / 3024278#3024278 [この回答]


0


連絡先のリストを表示するためにjqgridを使用しています。 'Role’という名前の列に 'Define’というボタンがあり、クリックしてその連絡先の役割をプライマリ、セカンダリ、セールスなどとして再定義できるようにしています。

当初、button要素はXMLを介してグリッドセルに送信されていました。$ rowidは行のIDです(PHP)

<button data-idx = '{$ rowid}' class = 'contact_role_button btn' title = 'ロールの定義...'>定義</button>

グリッドに `autoencode:true`を設定するまで、これはうまくいきました。 このオプションをtrueに設定すると、列は単にHTMLを表示していました。

Craigの答えは似たような振る舞いを見せたが、それのわずかな変化がトリックをした。 私は共有したいと思った:

gridcomplete:function(){var ids = $ grid.getDataIDs();}

for(var i = 0; iDefine '; if(cl.substr(0,2)!== "jq"){$('# 'cl).find(' td [aria-describeby = "list_role"] ' ).html(ボタン);}}}

つまり、setRowDataメソッドはautoencodeをtrueに設定しても機能しませんでしたが、gridcompleteイベント内でDOMを必要に応じて操作できます。