我已成功实施jqgrid,我有一些关于将所选数据发布到控制器的问题
如何再次传回数据表以显示结果,例如没有选择行和选择行值的总和等。请帮忙。我发布了我的jquery代码以及控制器代码。提前谢谢。
查看:
Map
控制器代码:
onSelectRow: function (id, status)
{
alert('polo');
var rowData = jQuery(this).getRowData(id);
FirstName = rowData['FirstName'];
LastName = rowData['LastName'];
Salary = rowData['Salary'];
Gender = rowData['Gender'];
$.ajax({
url: '/TodoList/notCk_Pk',
data:{'FirstName':FirstName,'LastName':LastName,'Salary':Salary,'Gender':Gender},
type: "post"
})
$('#example').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/TodoList/notCk_Pk",
"sAjaxDataProp": "",
"columns": [
{ "data": "FirstName" },
{ "data": "LastName" },
{ "data": "Salary" },
{ "data": "Gender" },
]
});
}
每当我选择一行时,即使我将其变为全局,它也将i变量初始化为'0'。
答案 0 :(得分:0)
您不需要使用列表数组。您可以使用$("#ListGrid").jqGrid('getGridParam', 'selarrrow')
获取所有选定的行。以下代码段可能会对您有所帮助。
onSelectRow: function(id, status) {
var currentRow = $(this).getRowData(id);
FirstName = currentRow['FirstName'];
LastName = currentRow['LastName'];
Salary = currentRow['Salary'];
Gender = currentRow['Gender'];
$.ajax({
url: '/TodoList/notCk_Pk',
data:{'FirstName':FirstName,'LastName':LastName,'Salary':Salary,'Gender':Gender},
type: "post"
})
var rows = $("#ListGrid").jqGrid('getGridParam', 'selarrrow');
var totalRow = rows.length;
var totalAmount = 0;
$.each(rows, function() {
var rowData = $("#ListGrid").getRowData(this);
totalAmount += rowData["Salary"] * 1;
});
dataTable.row($('#example').find('tbody tr')).remove().draw();
dataTable.row.add([totalRow, totalAmount]).draw();
}