グループ化された行にボタンを提供する必要があります。そのボタンの onclick の場合、rowData をキャプチャする必要があります。カスタム formatter 、 grid.SetCell オプションを使用してこれを実装しようとしましたが、機能しませんでした。サンプルコードは次のとおりです。
grid.jqGrid({
datatype: 'local',
colNames: ['Id', 'Order Id', 'Name', 'OrderName'],
colModel : [
{ name: 'ID', index: 'ID', editable: true}, //// I grouped by this column
{ name: 'OrderID', index: 'OrderID', width: 30, align: 'center'},
{ name: 'Name', index: 'Name', width: 30, align: 'center'},
{ name: 'OrderName', index: 'OrderName', width: 30, align: 'center'}
],
groupingView: {
groupField: ['ID'],
groupCollapse: true,
groupColumnShow: [false],
groupText: ['<b>{0}</b></div><input type = "button" class = "button" value = "NEW" id = "btnNew" style = "width:100px; hieght:10px" onclick = "javascript:AddNew({OrderID})" /><<b>{1} Orders</b>']
function AddNew(orderId)
{
//// DO SOME THING
}
上記の例では、グリッドは Id でグループ化されます。グループ化された各行で、onclick イベントが Order Id で構成されるボタンを作成する必要があります。(注文 ID は、各グループの下のすべての行で同じです)。ここでも Count を表示する必要があります。
上記のグループ Text で注文 ID を渡すことができませんでした。次に、ID 列でカスタム フォーマッタを使用します。
var html ;
formatter: function(cellValue, options, rowObject)
{
if ((options.rowId.toString()).indexOf("listghead") === -1) {
html = cellvalue + "<input type = "button", value = "New" onclick = AddNew(' +rowObject[1] +')
}
return html;
}
rowObject 値が渡されましたが、グループ化が壊れていました。条件のグループ化が正常に機能する場合に上記を使用しない場合、onclick イベントが中断されます。
助けて 。
前もって感謝します。