У меня есть интересная проблема. Я сделал это на нескольких страницах с несколькими сетками. Первая сетка отлично работает, вторая сетка в этом случае не загружается. и дать следующее сообщение об ошибке:this.p is undefined jqgrid
this.p неопределен
... sArray (я)) {Р = TRUE; ч = "последнего", U = F} еще {г = [I]; P = false} this.each (function() {var D = il .. line 140 jquery.jqGrid.min.js
Пользователь doble нажимает на строку и устанавливает некоторые переменные, а затем вызывает функцию locationGrid ()
Как я сказал, что это работает для меня несколько раз в прошлом, однако на этой странице он терпит неудачу, я проверил, и я получаю данные обратно, как показано ниже:..
{"d": "{\" total \ ": 1, \" page \ ": 0, \" records \ ": 1, \" rows \ ": [{\" invPartLocId \ ": 1053, \ "inventoryMasterId \": 5, \ "место \": нулевой, \ "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.src.js' вместо' jquery.jqGrid.min.js', чтобы увидеть место с более ясной ошибкой. Кроме того, вы должны включить код, который вызывает 'locationGrid'. Я думаю, что есть проблема понимания.'LocationGrid' должен вызываться ** только один раз **. – Oleg
Я переключился на использование jquery.jqGrid.src.js, сбой в строке 2818 ni = t.p.rownumbers === true? 1: 0; –