onSelectRow中的jqGrid Row对象

Ama*_*ury 8 jquery jqgrid

如何在jqGrid中选择行上的行对象?我需要实际的对象,而不是cellvalue.我已经阅读了文档,但找不到能给我行对象的方法.因为我使用自定义格式化程序,所以cellValue不起作用.

Ole*_*leg 10

如果您实现自定义格式化程序并希望获取有关getCellgetRowData的单元格值,还必须实现非格式化函数.

在"我需要实际对象而不是单元格值"下,您的意思并不清楚.您还不清楚datatype使用哪个,是否使用loadonce: true选项以及是否从服务器加载数据将以何种格式将数据发布到服务器.

如果您使用datatype: 'local'或使用loadonce: true内部data_index参数将被填充.要通过网格获取原始数据,rowid您可以使用

var rowData = this.p.data[this.p._index[rowid]]
Run Code Online (Sandbox Code Playgroud)

要么

var grid = $(this),
    localdata = grid.jqGrid('getGridParam', 'data'),
    indexes = grid.jqGrid('getGridParam', '_index'),
    rowData = localdata[indexes[rowid]];
Run Code Online (Sandbox Code Playgroud)

如果您不使用datatype: 'local'或使用loadonce: true并从服务器加载数据,则只能将表示数据的对象从服务器响应中保存在变量中(在对象中).该loadComplete事件处理程序有一个data参数,它是从服务器发布的原始数据.因此,您可以在对象中保存所需的数据(在将通过rowid获取yut对象的地图中)并在onSelectRow事件处理程序中使用它.