我想遍历所有包含在网格对象中的数据。 我的网格有一个定义,包括亚格对象,并创建这样jqGrid遍历网格中的数据子网格中的数据
var grid = $(gridID);
var pager = $(pagerID);
grid.jqGrid({
url: GetBaseWSUrl() + 'MyWs.asmx/MyMethod',
colNames: ['UMLT', 'FF', 'PC'],
colModel: [
{ name: 'Name', index: 'Name', width: 180, template: colTextTemplate },
{ name: 'AlertFF', index: 'AlertFF', width: 22, align: 'center', sortable: false, formatter: "checkbox", formatoptions: { disabled: false} },
{ name: 'AlertPC', index: 'AlertPC', width: 22, align: 'center', sortable: false, formatter: "checkbox", formatoptions: { disabled: false} }
],
[...]
subGrid: true,
subGridOptions: {
"plusicon": "ui-icon-triangle-1-e",
"minusicon": "ui-icon-triangle-1-s",
"openicon": "ui-icon-arrowreturn-1-e",
"reloadOnExpand": true,
"selectOnExpand": true
},
subGridRowExpanded: function (subgrid_id, row_id) {
var subgrid_table_id = subgrid_id + "_t";
$("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table>");
$("#" + subgrid_table_id).jqGrid({
[...] omitted for brevity
});
}
});
我知道我可以使用这样的代码一个迭代的数据,并有效地它为第一级,但我期待对于一个方法,这将允许我甚至在子网格数据上进行迭代。
var grid = $('#grid');
var m = grid.getDataIDs();
for (var i = 0; i < m.length; i++) {
var record = grid.getRowData(m[i]);
//do something with the record
}
有没有办法做到这一点?
你想遍历'loadComplete'中的grid包含吗?你想在每一行上做什么?你想检查一些列的包含或在某一列进行更改吗?你是否想要例如根据列包含来更改行的背景颜色?我想你明白我的问题。还有一件重要的事情:你使用本地'datatype'或'loadonce:true'吗? – Oleg
我正在使用'datatype:json'。不使用'loadonce:true'。我需要遍历行并检查一列的值(复选框格式)。如果选中此列,则需要迭代此行的子网格以仅读取一些值。不需要修改任何数据... – Lorenzo