サブグリッドを含むグリッドがあります。どちらのグリッドにもチェックボックス列があります。親チェックボックスをクリックすると、すべてのサブグリッドチェックボックスが自動的にチェック/チェック解除されます。すべてのチェックボックスは DB 値にマップされているため、ステータスが変更されるたびに DB の値が変更され、グリッドをリロードしてチェックボックスのステータスを更新します。
問題は、グリッドをリロードすると、展開されたサブグリッドが失われることです。これは、チェックボックスをクリックするたびにグリッドがリロードされるため、非常に面倒です...
グリッドをリロードするときに、どの行が消費されるかのステータスを維持する方法はありますか?
ここに私のコードの一部があります:
$('#jqgSearchTaxPayer').jqGrid({
....
subGrid: true,
subGridRowExpanded: function (sendSubGrid, lineId) {
var sendSubGridId;
sendSubGridId = sendSubGrid + "_t";
$("#" + sendSubGrid).html("<table id='" + sendSubGridId + "' class='scroll'></table>");
$("#" + sendSubGridId).jqGrid({
....
{ name: 'Keep', index: 'Keep', width: '9px', align: 'center',
editable: true, edittype: 'checkbox',
formatter: function (cellvalue, options, rowObject) {
cellvalue = cellvalue + "";
cellvalue = cellvalue.toLowerCase();
var bchk = " checked=\"checked\"";
if (cellvalue == "false") {
bchk = "";
}
return "<input type='checkbox' onclick=\"SendLineChecked('" + options.rowId + "','" + sendSubGrid + "');\" " + bchk + " value='" + cellvalue + "' offval='no' />";
}, formatoptions: { disabled: false }
}],
....
よろしくお願いします。