jqGrid在用自带的del,add,edit时,C#后台怎么获得数据
本文介绍了jqGrid在用自带的del,add,edit时,C#后台怎么获得数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.用jqGrid自带的del时,它发送的Ajax里面的id是什么意思呢?确认删除后,该记录在页面暂时是被删除了,表格的序号也会重新排,所以这个id是未被删除前的序号id吗?
2.为了实现真正的删除,需要在C#后台中获取表格中为primaryKey的数据,这里怎么通过Ajax传送过去呢?编辑也是一样,我怎么在后台获取修改后的数据呢?
解决方案
$("#Grid").navGrid("#Page",
{ edit: true, add: true, del: true, search: true, refresh: true,searchtext:"查找",addtext:"添加",edittext:"编辑",deltext:"删除",refreshtext:"刷新"},
{
//edit zoneCode不可编辑
height: 400,
width: 500,
top: 50,
left: 200,
dataheight: 280,
closeOnEscape: true,
reloadAfterSubmit: true,
drag: true,
afterSubmit: function (response, postdata) {
if (response.responseText == '') {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); //编辑重新加载数据
return [true, '']
} else {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
return [false, response.responseText]
}
},
editData: { //编辑后向后台传送的主键数据
zoneCode: function () {
var sel_id = $("#Grid").jqGrid('getGridParam', 'selrow'); //获取选中行
var value = $("#Grid").jqGrid('getCell', sel_id, 'zoneCode'); //获取选中行的数据得到主键_id
console.log(value);
return value;
}
}
},
//add zoneCode可编辑
{
closeAfterAdd: true,
beforeInitData: function (formid) { //设置主键在添加时可编辑
$(this).jqGrid('setColProp', 'zoneCode', { editable: true });
},
afterShowForm: function (formid) {
$(this).jqGrid('setColProp', 'zoneCode', { editable: false });
},
afterSubmit: function (response, postdata) {
if (response.responseText == '') {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
return [true, '']
} else {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
return [false, response.responseText]
}
}
},
//delete
{
closeAfterDelete: true,
reloadAfterSubmit: true,
closeOnEscape: true,
drag: true,
afterSubmit: function (response, postdata) {
if (response.responseText == '') {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
return [true, '']
} else {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
return [false, response.responseText]
}
},
delData: {
zoneCode: function () {
var sel_id = $("#Grid").jqGrid('getGridParam', 'selrow'); //获取选中行
var value = $("#Grid").jqGrid('getCell', sel_id, 'zoneCode'); //获取选中行的数据得到主键_id
// console.log(value);
return value;
}
}
},
//search
{
closeAfterDelete: true
}
);
});
//前台用editData,delData
//后台用context.Request.Params即可获取想要传递的数据
string sFullParams = context.Request.Params.ToString();
string sUrlPara = sFullParams.Substring(0, sFullParams.IndexOf("&ALL_HTTP="));
这篇关于jqGrid在用自带的del,add,edit时,C#后台怎么获得数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文