1 ページに 2 つの jqgrids を追加する必要があります。1 つはレコードの表示に使用され、もう 1 つは一括挿入に使用されます。別のグリッドを追加するために、同じファイル内で別のメソッド シグネチャを使用して別の初期化グリッド メソッドを定義しました。発生している問題は、[行の追加] をクリックすると、1 行ではなく 2 行が追加されることです。関数は 2 回実行され、新しい空白行を追加します。私はjqueryが初めてです。どんな助けでも大歓迎です。
function InitGrid1() {
debugger
// $grid1.find('.jqgrow td').live('click', function (e) {
// if (e.target && e.target.nodeName != 'TD') return;
// var $this = $(this);
// if ($this.find('input, a').length == 0)
// OnColumnClick($this);
// });
var lastSelectedRowID;
$grid1.jqGrid({
colNames: ['AttendancePolicyID', 'AllowedVariationID', 'New', 'Updated', 'Policy Enabled', 'Effective Date', 'Employee ID', 'Employee Name', 'Activity Type', 'After Start', 'Before End', 'Allowed Variation', 'Status', '', '', 'Payroll_f', '', ''],
colModel: colModel,
sortname: 'EffectiveDate',
sortorder: "DESC",
rowNum: 5000,
rownumbers: true,
rownumWidth: 30,
autowidth: true,
gridview: true,
jsonReader: {
root: "rows",
page: "page",
total: "totalpages",
records: "totalrecords",
cell: "cell",
id: "ID", //index of the column with the PK in it
userdata: "userdata",
repeatitems: true
},
prmNames: {
rows: "numRows",
page: "page",
sort: "sortField",
order: "sortOrder"
},
postData: {
employeeIDs: []
},
datatype: function (postdata) {
idsToDelete = new Array();
if (reloadType == GridReloadType.PastedFromExcel || reloadType == GridReloadType.ShowingResults) {
var griddata = {
totalpages: 1,
page: 1,
totalrecords: totalRowsToLoad,
rows: gridrows
}; fs
$grid1[0].addJSONData(griddata);
}
else if (reloadType == GridReloadType.LoadFromServer) {
LoadAttendancePolicyFromServerpanel(postdata);
}
else
LoadAttendancePolicyFromServerpanel(postdata);
},
gridComplete: function () {
}
});
var $html = $('#jqgh_attendancePolicyGrid_rn').html();
$('#jqgh_attendancePolicyGrid_rn').html('No.' + $html);
$('.ui-jqgrid-titlebar-close').remove();
DisableSaveButton(true);
ResizeGrid();
$(window).resize(function () {
ResizeGrid();
});
function OnColumnClick($col) {
try {
var $row = $col.parent('tr:first');
var rowid = $row.attr('id');
if (rowid == null || $row == null)
return;
if ($row.find('input').length > 1)
return;
SaveRow(lastSelectedRowID);
}
catch (ex) {
ShowMessage(ex.message);
}
}
}