JQGrid Group Text Custom Formatter with Button inside and passing RowData

时间:2012-10-01 19:51:16

标签: jqgrid

我需要在分组行上提供一个按钮,当点击该按钮时,我应该捕获rowData。我试图用自定义格式化程序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对于每个组下的所有行都相同)。我还需要在这里展示伯爵。

我无法在上面的组文本中传递订单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事件正在破坏。

帮帮我。

先谢谢。

2 个答案:

答案 0 :(得分:0)

您可以通过rowObject获取行值,所以:

html = rowObject.childNodes[1].childNodes[0].wholeText;

此代码返回一个字符串,其中包含rowObject的内容到该columm

答案 1 :(得分:0)

当涉及到组头时,你可以传递rowObject,当它涉及groupheader时,它不是未定义的或null。

当你检测到它的组头时,只需使用alert(rowObject)测试它。