私は興味深い問題があります。私は複数のグリッドを持つ複数のページでこれを行っています。最初のグリッドはうまく動作します。この場合、2番目のグリッドは読み込まれません。次のエラーを与える:this.p is undefined jqgrid
this.pが定義されていないが
... sArray(I)){P = TRUE; H = "最後の"; U = F}他{I = [I]。 P = false} this.each(function(){var D = il .. line 140 jquery.jqGrid.min.js
ユーザが行をクリックすると、いくつかの変数が設定され、関数locationGrid 。)
私は、二重にチェックしており、以下に示すように、私は戻ってデータを取得しています、これは失敗したが、このページで、過去に私のために複数回を働いた言ったように:
。{"d": "合計\":1、\ "ページ\":0、\ "レコード\":1、\ "行\":\ {\ "invPartLocId \":1053 \ "inventoryMasterId \":5、\ "location \":null、\ "itemType \":\ "S \"、\ "currentQanity \":1、\ "adjustedQauntity \":0、\ "newLocationQty \":0 、\ "deptCode \":\ "1401 \"}]} ""}
ご協力いただければ幸いです。
function locationGrid() {
$('#invLocAdjustGrid').jqgrid({
height: 290,
loadui: "block",
datatype: function (rdata) { getLocationData(rdata); },
colNames: ['invPartID', 'locationPartID', 'Loctaion', 'Type', 'Current QTY', 'Adjusted QTY', 'New Location QTY', 'Dept. Code'],
colModel: [
{ name: 'invPartLocId', width: 2, sortable: false, editable: false, hidden: true },
{ name: 'inventoryMasterId', width: 2, sortable: false, editable: false, hidden: true },
{ name: 'location', width: 250, editable: false, sortable: false },
{ name: 'itemType', width: 120, editable: false, sortable: false, align: 'center' },
{ name: 'currentQanity', width: 50, editable: false, sortable: false },
{ name: 'adjustedQauntity', width: 50, editable: false, sortable: false },
{ name: 'newLocationQty ', width: 50, editable: false, sortable: false },
{ name: 'deptCode', width: 50, editable: false, sortable: false }
],
pager: jQuery('#rptCodesPager'),
viewrecords: true,
width: 890,
gridComplete: function() {
$('#load_invLocAdjustGrid').hide();
$(this).prop('p').loadui = 'enable';
$('#lui_invLocAdjustGrid').hide();
},
afterInsertRow: function (rowid, aData) {
},
ondblClickRow: function (rowid) {
var myID = $('#invLocAdjustGrid').getCell(rowid, 'invPartLocId');
Ldclicked(myID);
}
});
}
function getLocationData(rdata) {
var theID = tempID;
tempID = "";
var myDTO = { 'id': theID };
var toPass = JSON.stringify(myDTO);
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "INV_Inventory_Adjustment.aspx/getInventoryLocationById",
data: toPass,
success: function (data, textStatus) {
if (textStatus == "success")
ReceivedLocationData(JSON.parse(getMain(data)).rows);
},
error: function (data, textStatus) { alert('An error has occured retrieving data!'); }
});
}
function ReceivedLocationData(data) {
var thegrid = $('#invLocAdjustGrid');
var isGood = data.length;
for (var i = 0; i < isGood; i++) {
thegrid.addRowData(i + 1, data[i]);
}
}
'jquery.jqGrid.min.js'の代わりに' jquery.jqGrid.src.js'を使用すると、エラーのある場所をより明確に見ることができます。さらに、 'locationGrid'を呼び出すコードを含めるべきです。理解の問題があると思います。'locationGrid'は** **一度呼び出さなければなりません**。 – Oleg
私はjquery.jqGrid.src.jsを使用して切り替えましたが、失敗は2818にあります ni = t.p.rownumbers === true? 1:0; –