我将这个模型用于jqgrid表:
$("#list").jqGrid({
datatype: 'clientSide',
colNames: ["Id", "Id cliente", "RagSociale cliente", "Numero","Anno",
"Data di ordine", "Id agente", "Nome agente", "Cognome agente",
"Id agenzia", "RagSociale agenzia", "Id utente", "Nome utente",
"Data d'inserimento", "Note", "Disabilitato"],
colModel: [
{ name: "id"},
{ name: "idCliente"},
{ name: "ragSocCliente"},
{ name: "numero"},
{ name: "anno"},
{ name: "dataOrdine"},
{ name: "idAgente"},
{ name: "nomeAgente"},
{ name: "cognomeAgente"},
{ name: "idAgenzia"},
{ name: "ragSocAgenzia"},
{ name: "idUser"},
{ name: "nomeUser"},
{ name: "dataInserimento"},
{ name: "note"},
{ name: "disabilitato", width:100, sortable: false, resizable:false}
],
sortname: "id",
sortorder: "asc"
})
.navGrid('#pager', {del:false});
当我想编辑时,我点击了记录和编辑按钮,这将打开一个新窗口。
我的主要问题是,当我编辑时,我需要存储在id列中的ID,而不是我获得关于表的行的ID。如果我的第二个记录的ID为53并且我尝试编辑它,那么绑定将全部错误,因为它传递id = 2而不是传递id = 2,因为它是表的第二个记录。解决这个问题的方法是什么?
---- ---- EDIT
由于时间关系,我已经添加了sessionStorage的用法,但我想知道是否有另一种方式,例如使用navgrid编辑选项
colModel: [
{ name: "id"},
{ name: "idCliente"},
{ name: "ragSocCliente"},
{ name: "numero"},
{ name: "anno"},
{ name: "dataOrdine"},
{ name: "idAgente"},
{ name: "nomeAgente"},
{ name: "cognomeAgente"},
{ name: "idAgenzia"},
{ name: "ragSocAgenzia"},
{ name: "idUser"},
{ name: "nomeUser"},
{ name: "dataInserimento"},
{ name: "note"},
{ name: "disabilitato", width:100, sortable: false, resizable:false}
],
sortname: "id",
sortorder: "asc",
onSelectRow: function (id) {
sessionStorage.setItem("idEdit", $("#list").jqGrid('getCell', id, 'id'));
}
})
.navGrid('#pager', {del:false});
只是为了澄清,按下编辑按钮会打开另一个使用get函数并传递了Id的页面,它会在编辑中填充表格,这里是获取部分:
$(document).ready(function() {
<c:if test="${not empty param.id}">
var parameter = sessionStorage.getItem("idEdit");
console.log(parameter)
$.get("get", {
id: parameter
}, function(data) {
window.data = data;
ko.applyBindings(window.data);
$("#scaricata").prop('checked', window.data.scaricata);
$("#originale").prop('checked', window.data.originale);
$("#dematerializzazione").prop('checked', window.data.dematerializzazione);
});
</c:if>
if检查是否有参数。作为编辑,显然有。