2

我需要在分组行上提供一个按钮,当单击该按钮时,我应该捕获 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 都是相同的)。我还需要在这里显示 Count。

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

帮我 。

提前致谢。

4

2 回答 2

0

当涉及到 group header 时,您可以只传递 rowObject ,当涉及到 groupheader 时,它不是 undefined 或 null 。

当您检测到它的组标题时,只需使用 alert(rowObject) 对其进行测试。

于 2013-06-14T13:20:19.053 回答
0

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

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

此代码将包含 rowObject 内容的字符串返回到该列

于 2012-11-14T17:39:11.720 回答