我成功从我的控制器方法中检索数据,并希望在jqGrid上显示数据。
我在调试过程中注意到,我收到一条弹出的错误消息(我没想到)会说" Element不是表"。
在尝试为网格设置 onCellSelect 事件的行上发生错误。它似乎正在尝试读取尚未填充的网格中的数据。
请注意,我在此事件后填充网格。此事件适用于填充网格以从单元格中提取值之后。
但是,我认为所有事件都需要在设计时根据网格的定义进行设置。
有人可以告诉我我在这里做错了吗?
以下是我的相关代码:
$.ajax({
url: '@Url.Action("GetFilteredFuelTicketsAsync")',
type: "POST",
data: JSON.stringify(HH_FuelTkt_Input),
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function (data) {
$('#fuelTickets').jqGrid({
caption: "Fuel Tickets",
colNames: ["ID", "Ticket", "Vehicle", "Customer", "Date", "Image ID"],
colModel: [
{ name: "FuelTkt_ID", viewable: false },
{ name: "Ticket_No", width: 30, align: "right" },
{ name: "Vehicle_No", width: 50 },
{ name: "Customer_Name", width: 100 },
{ name: "Trans_Timestamp", width: 100, datefmt: "yyyy-mm-dd" },
{ name: "Image_ID", width: 30 }
],
datatype: "json",
mtype: "GET",
pager: true,
sortname: "Ticket_No",
sortorder: "Asc",
viewRecords: true,
gridview: true,
autoWidth: true,
emptyRecords: "No records found",
onCellSelect: function (rowid, iCol, cellcontent) {
var grid = $('#fuelTickets');
var imageID = grid.jqGrid('getCell', rowid, 'Image_ID');
if (imageID != "")
DisplayReceipt(imageID);
}
})
var grid = $("#fuelTickets");
var gridData = JSON.parse(data.d);
grid.clearGridData();
for (var i = 0; i < gridData.length; i++) {
grid.addRowData(i + 1, gridData[i]);
}
},
error: function (jqXHR, jqXHR, textStatus, errorThrown) {
alert("No record found: " + "textStatus: " + textStatus + "\r\n" + "errorThrown: " + errorThrown);
}
});
在表格元素中放置JQGRID后编辑(修复了当前问题): 这是因为我没有在表格元素中定义jqGrid ...
但是,这里又出现了另一件事。
我在变量&#34; data&#34;中得到两条记录。
当我尝试处理这一行时,没有任何反应。浏览器只是挂起。我是否需要以不同的方式将数据绑定到网格?在解析数据时可能会出现问题,可能是时间戳。你能建议我能做些什么来解决这个问题吗?
非常感谢。 var gridData = JSON.parse(data.d);
json数据如下所示:
数据 [对象{FuelTkt_ID = 2,Ticket_No = 6460193,Vehicle_No =&#34; 123456&#34;,更多...},对象{FuelTkt_ID = 3,Ticket_No = 6460194,Vehicle_No =&#34; 123456&#34;,更多......}
0 对象{FuelTkt_ID = 2,Ticket_No = 6460193,Vehicle_No =&#34; 123456&#34;,更多......}
CUSTOMER_NAME &#34; X&#34;
FuelTkt_ID 2
Image_ID &#34; 12345&#34;
Ticket_No 6460193
Trans_Timestamp &#34; /日期(1395238800000)/&#34;
Vehicle_No &#34; 123456&#34;
1 对象{FuelTkt_ID = 3,Ticket_No = 6460194,Vehicle_No =&#34; 123456&#34;,更多......}
CUSTOMER_NAME &#34; X&#34;
FuelTkt_ID 3
Image_ID &#34; 22856&#34;
Ticket_No 6460194
Trans_Timestamp &#34; /日期(13952.46亿)/&#34;
Vehicle_No &#34; 123456&#34;
答案 0 :(得分:1)
jqGrid要求您附加的元素为表格:
<table id="fuelTickets"> </table>