jqGridにDeleteを実装したいのですが、(例)2つのテーブルRequestとItemがあります
リクエストフィールドは、、RequestId
アイテム
フィールドは、、
リクエストテーブルはpkで、アイテムテーブルにはpkがあり、アイテムテーブルにこのコードを記述しますWayBillNo
Customer
RequestId
ItemNO
Quantity
RequestId
RequestId
ItemNO
var requestIdItem=0, itemIdItem=0;
var gridItem = $('#listItem');
gridItem.jqGrid({
url: 'jQGridHandler.ashx',
postData: { ActionPage: 'ClearanceItems', Action: 'Fill', requestId: rowid },
ajaxGridOptions: { cache: false },
datatype: 'json',
height: 200,
colNames: ['RequestId','ItemNo',Quantity],
colModel: [
{ name: 'REQUEST_ID', width: 100, sortable: true,hidden:true },
{ name: 'ITEM_NO', width: 200, sortable: true }
{ name: 'Quntity', width: 100, sortable: true }
],
gridview: true,
rowNum: 20,
rowList: [20, 40, 60],
pager: '#pagerItem',
viewrecords: true,
sortorder: 'ASC',
rownumbers: true,
//onSelectRow: function (id, state) {
// requestIdItem = gridItem.jqGrid('getCell', id, 'REQUEST_ID_ID');
// alert(requestIdItem);
// itemIdItem = gridItem.jqGrid('getCell', id, 'ITEM_NO');
// alert(itemIdItem);
//}
//,
beforeSelectRow: function (itemid, ex) {
requestIdItem = gridItem.jqGrid('getCell', itemid, 'REQUEST_ID_ID');
itemIdItem = gridItem.jqGrid('getCell', itemid, 'ITEM_NO');
return true;
}
});
gridItem.jqGrid('navGrid', '#pagerItem', { add: false, edit: false, del: true }, {}, {}, {
//alert(requestIdItem);
url: "JQGridHandler.ashx?ActionPage=ClearanceItems&Action=Delete&REQUEST_ID=" +
requestIdItem + "&ITEM_NO=" + itemIdItem
}, { multipleSearch: true, overlay: false, width: 460 });
アイテムテーブルにこのコードを記述します。アイテムテーブルにアイテムを削除するためのコードを記述します。パラメータ値を送信するためにこのコードを記述します。
url: "JQGridHandler.ashx?ActionPage=ClearanceItems&Action=Delete&REQUEST_ID=" +
requestIdItem + "&ITEM_NO=" + itemIdItem
ただし、常に0の値をサーバーに送信してください。助けてください。皆さんありがとう
EDIT01:私は削除オプションを変更しますこれのために:私はこのページでhttp://stackoverflow.com/questions/2833254/jqgrid-delete-row-how-to-send-additional-post-data
ユーザー@Olegがこのコードを書く のを見ます
gridItem.jqGrid('navGrid', '#pagerItem', { add: false, edit: false, del: true }, {}, {}, {
serializeDelData: function (postdata) {
alert(postdata.id);
return ""; // the body MUST be empty in DELETE HTTP requests
},
onclickSubmit: function (rp_ge, postdata) {
// alert(postdata.id);
var rowdata = $("#listItem").getRowData(postdata.id);
alert(rowdata.REQUEST_ID_ID);
rp_ge.url = 'JQGridHandler.ashx?ActionPage=ClearanceItems&Action=Delete&' +
$.param({ rr: rowdata.REQUEST_ID_ID });
// 'subgrid.process.php/' + encodeURIComponent(postdata.id) +
// '?' + jQuery.param({ user_id: rowdata.user_id });
}
//alert(requestIdItem);
// url: "JQGridHandler.ashx?ActionPage=ClearanceItems&Action=Delete&REQUEST_ID=" +
// requestIdItem + "&ITEM_NO=" + itemIdItem
}, { multipleSearch: true, overlay: false, width: 460 })
サーバーにデータを送信するときundefined