免费的 jqGrid,不要使用 inlineNav 在 addrow 上发送新索引
Free jqGrid, don't send new index on addrow with inlineNav
只是放入一个新的网格,一切似乎都运行良好,除了一件事。使用基本内联,它为我用 key: true
设置的列发送了一个新的不正确的键值。这是数据库中的一个自动递增列,所以我只是不想在添加时为该列发送任何数据,只需要编辑或删除。
它正在为新的键列发布一个参数:row_id => jqg3
并且弄乱了我的服务器脚本。所以因为添加新行会自动增加 row_id
col,所以我不需要发送这个。
如何在保存新添加的行时阻止 jqGrid 发送这个 (row_id
) 索引列值?
free-jqgrid 版本为 4.14.0
$('#accts').jqGrid({
url:'/phpAJAX/Master/master_grid_v1.php',
editurl:'/phpAJAX/Master/master_grid_v1.php',
height: 'auto',
shrinkToFit: false,
width: 'auto',
datatype: 'xml',
mtype: 'POST',
postData:{
'arg1':'bol_acct'
},
colNames:[
'row_id',
'Customer',
'Trucker',
'Acct Num'
],
colModel:[
{name: 'row_id', hidden: true, key: true},
{name:'Customer', align: "center", editable: true},
{name: 'Trucker', align: "center"},
{name: 'Acct_Num', align: "center"}
],
sortname: 'Customer',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'Bill of Lading Accounts',
rowNum: 10000,
pager:true
}).jqGrid('inlineNav', {
addParams: {
addRowParams: { extraparam: {'arg1':'bol_acct', 'oper':'add'} }
},
editParams: {
extraparam: {
'arg1':'bol_acct', 'oper':'edit'
}
}
})
可以使用内联编辑的serializeSaveData
回调来修改数据,内联编辑时会发送这些数据。您可以通过
添加 serializeSaveData
回调
inlineEditing: {
keys: true,
extraparam: { arg1: "bol_acct" },
serializeSaveData: function (postData) {
var newPostData = $.extend(true, {}, postData);
if (newPostData.oper === "add") {
delete newPostData.id; // delete id parameter
}
return newPostData;
}
}
只是放入一个新的网格,一切似乎都运行良好,除了一件事。使用基本内联,它为我用 key: true
设置的列发送了一个新的不正确的键值。这是数据库中的一个自动递增列,所以我只是不想在添加时为该列发送任何数据,只需要编辑或删除。
它正在为新的键列发布一个参数:row_id => jqg3
并且弄乱了我的服务器脚本。所以因为添加新行会自动增加 row_id
col,所以我不需要发送这个。
如何在保存新添加的行时阻止 jqGrid 发送这个 (row_id
) 索引列值?
free-jqgrid 版本为 4.14.0
$('#accts').jqGrid({
url:'/phpAJAX/Master/master_grid_v1.php',
editurl:'/phpAJAX/Master/master_grid_v1.php',
height: 'auto',
shrinkToFit: false,
width: 'auto',
datatype: 'xml',
mtype: 'POST',
postData:{
'arg1':'bol_acct'
},
colNames:[
'row_id',
'Customer',
'Trucker',
'Acct Num'
],
colModel:[
{name: 'row_id', hidden: true, key: true},
{name:'Customer', align: "center", editable: true},
{name: 'Trucker', align: "center"},
{name: 'Acct_Num', align: "center"}
],
sortname: 'Customer',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'Bill of Lading Accounts',
rowNum: 10000,
pager:true
}).jqGrid('inlineNav', {
addParams: {
addRowParams: { extraparam: {'arg1':'bol_acct', 'oper':'add'} }
},
editParams: {
extraparam: {
'arg1':'bol_acct', 'oper':'edit'
}
}
})
可以使用内联编辑的serializeSaveData
回调来修改数据,内联编辑时会发送这些数据。您可以通过
serializeSaveData
回调
inlineEditing: {
keys: true,
extraparam: { arg1: "bol_acct" },
serializeSaveData: function (postData) {
var newPostData = $.extend(true, {}, postData);
if (newPostData.oper === "add") {
delete newPostData.id; // delete id parameter
}
return newPostData;
}
}