C# 在codebehind中获取JQGrid的所有行数据?
我正在使用javascript将一些行数据添加到客户端的JQGrid中:C# 在codebehind中获取JQGrid的所有行数据?,c#,asp.net,jqgrid,code-behind,jqgrid-asp.net,C#,Asp.net,Jqgrid,Code Behind,Jqgrid Asp.net,我正在使用javascript将一些行数据添加到客户端的JQGrid中: var grid = jQuery("#<%= JQGridMembers.ClientID %>"); var rowKey = grid.getGridParam("selrow"); var newRow = [{ ID: memberId, FullName: memberFullName, Percent: parseInt(percent)}]; grid.addRowData(memberId,
var grid = jQuery("#<%= JQGridMembers.ClientID %>");
var rowKey = grid.getGridParam("selrow");
var newRow = [{ ID: memberId, FullName: memberFullName, Percent: parseInt(percent)}];
grid.addRowData(memberId, newRow);
var grid=jQuery(“#”);
var rowKey=grid.getGridParam(“selrow”);
var newRow=[{ID:memberId,FullName:memberFullName,Percent:parseInt(Percent)}];
grid.addRowData(memberId,newRow);
上述代码运行良好,但如何在代码隐藏中获取所有插入行数据(在JQGrid中)?您可以通过
var myData=grid.jqGrid('getRowData');
或关于
var myData=grid.jqGrid('getGridParam','data');
最后一种方法只能用于本地数据类型
或loadonce:true
。它不仅返回当前页面的数据,还返回所有页面的所有数据
getRowData
方法使用unformatter从网格的所有单元格读取数据。遇到了类似的问题,下面是我最终使用的方法
var data = $("#table-id").jqGrid('getGridParam', 'data');
for (var i = 0; i < data.length; i++) {
var f_name = data[i].FirstName;
var l_name = data[i].LastName;
// blah... blah..
}
var data=$(“#表id”).jqGrid('getGridParam','data');
对于(变量i=0;i
只有一句话:如果确实需要并且没有其他方法,我建议您不要使用
addRowData
。唯一的用例是如果您获得了新行。例如,如果用户明确单击“添加”按钮并添加新数据。如果您得到许多行,并且需要清除旧数据并在网格中包含和插入新数据,那么使用addRowData
将是错误的(最慢的)方式。如果loadonce设置为true,您如何仅获取当前页的数据?@mrshickadance:您可以首先从当前页获取所有id
值。例如,您可以使用getdataid
。然后可以使用getLocalRow
方法获取与rowid对应的每个数据项。例如,您可以将结果推送到空数组中,并向每个数据项添加id
属性。这样你就有了完整的信息。