在jqgrid表的每一行上设置数据属性

在jqgrid表的每一行上设置数据属性,jqgrid,Jqgrid,我正在使用jqGrid,并试图向每个tr添加一个数据属性。我正在触发loadComplete事件,但我不确定如何修改每一行。有代码示例吗?在我的例子中,我通过标识设置网格的第一列。在所有情况下,网格中每个数据行的id都是该标识列的值 jqGrid列: colModel: [ { name:'ID', label:'...', width:1, index:'ID' ... 呈现: <tr role="row" id="10777" ... > // in retrieved dat

我正在使用jqGrid,并试图向每个tr添加一个数据属性。我正在触发loadComplete事件,但我不确定如何修改每一行。有代码示例吗?

在我的例子中,我通过标识设置网格的第一列。在所有情况下,网格中每个数据行的id都是该标识列的值

jqGrid列:

colModel: [
{
name:'ID',
label:'...',
width:1,
index:'ID'
...
呈现:

<tr role="row" id="10777" ... > // in retrieved data: ID = 10777
如果您希望对所有行自动执行上述行,则应稍微更改它,并将其放入网格的
gridComplete
事件中:

gridComplete: function() { $("tr[role='row']").prop('data-whatever', 'value'); }

您可以使用
rowattr
元素指定任何附加属性(有关代码示例,请参阅和)。例如,您可以使用

rowattr:函数(rd){
返回{“data mydata”:JSON.stringify(rd)};
}
将完整的输入行数据保存为
data mydata
属性。我建议您将
rowattr``与
gridview:true`选项结合使用,以获得最佳性能结果()

使用上面的
rowattr
cade,您可以看到网格的行具有附加的
data mydata
属性:


您不能为该单元格使用自定义格式设置程序吗?我希望它位于tr本身,而不是单元格上。当然,在那里输入ID非常有用。但是,我仍然希望将其他数据元素放置在该行的数据属性中。我知道jqGrid有其他获取数据的方法,但我正在为jqGrid更改一个自定义网格,因此我仍在尝试利用现有的功能/样式。但我应该将选择器放在哪里?在loadComplete事件中?我该如何称呼它呢?太好了,现在我该如何从数据集中附加值?我该如何处理空格?当我执行以下操作时:
返回{“数据删除名称”:rd.name}
和rd.name有一个空格,它只包含第一个单词。
gridComplete: function() { $("tr[role='row']").prop('data-whatever', 'value'); }