1、封装js
//结束编辑模式 editCol结束编辑的列
$.fn.finalEditCell = function (editCol) {
var cellId = sub_originRowId + "" + editCol;
var cellNameValue = $("#" + cellId).val();
var newData = {};
newData[editCol] = cellNameValue;
$(this).jqGrid(“setRowData”, sub_originRowId, newData, ‘’);
}
//选择行操作(扩展) 根据子表选中设置父表选中
$.fn.selectRow_Expand = function () {
//记录该子表的id
var subId = $(this).attr(‘id’);
//记录父级的id
var parentId = subId.split(’’)[0];
//记录选中了父级的哪一行
var selectParentRowId = subId.split(’_’)[1];
if (sub_originId != subId) {
$(’#’ + sub_originId).jqGrid(‘resetSelection’);
}
//设置父表选中
$("#" + parentId).setSelection(selectParentRowId);
}
2、子表在选中事件里执行相应方法
onSelectRow: function (rowid) {
hideALL();
//var rowData = $('#' + this.id).jqGrid('getRowData', selectedIndex);
//$("#gascost").val(rowData.currentGasCosts).attr('disabled', 'disabled');
//$("#overduefine").val(rowData.overdueFine).attr('disabled', 'disabled');
//$("#fullgathing").val(rowData.fullgathering).attr('disabled', 'disabled');
//$("#paycost").val(rowData.paycost);
//$("#btn-payment").attr('disabled', false);
}, onSelectAll: function (rowids, statue) {
//结束编辑模式
$('#' + sub_originId).finalEditCell('paycost')
//所有已选中id
//设置父表选中
$(this).selectRow_Expand();
//记录子表table ID
sub_originId = subId;
}
3、父表里选中事件里执行
onCellSelect: function (rowid, icol, cellcontent, e) {
$(this).setSelection(rowid);
var subId = $(this).attr(‘id’) + ‘_’ + rowid + ‘_t’;
//获取子表下所有行
var strIds = $(’#’+subId).jqGrid(“getDataIDs”);
for (var i = 0; i < strIds.length; i++) {
//设置该父表下的所有行选中
$(’#’ + subId).setSelection(strIds[i]);
}
//子表是否变了
if (sub_originId != subId) {
//清除上一个子表的选中
$(’#’ + sub_originId).jqGrid(‘resetSelection’);
}
//记录子表table
sub_originId = subId;
},