В настоящее время я получаю данные из источника websocket как строку json и пытаюсь заполнить jqgrid. Однако отображается только одна строка, а также без данных. мой источник WebSocket являетсясоздание обновления jqgrid из источника websocket
var json ;
socket.onmessage = function(msg) {
if (! msg || ! msg.data) {
return;
}
counter++;
json = JSON.parse(msg.data);
makeGrid(json);
}
$(document).ready(function() {
makeGrid(json);
}
function makeGrid(data){
var json = [data]; // now this is local data
console.log(json);
$("#jqGrid").jqGrid({
data: json,
datatype: "local",
colNames: [ "name", "value", "unit"],
colModel: [
{ name: "name", width:30 ,height:"auto"},
{ name: "value", width: 15, align: "right",height:"auto" },
{ name: "unit", width: 10, align: "right" ,height:"auto"}
],
pager: "#jqGridPager",
rowNum: 10,
rowList: [10, 20, 30],
rownumbers:true,
viewrecords: true,
gridview: true,
autoencode: true,
caption: "Messages.."
});
};
В моем HTML файл я это ..
`<table id="jqGrid"></table>`
<div id="jqGridPager"></div>
Пожалуйста, помогите ..
Вы должны создать сетку (вызов '$ (" # jqGrid "). JqGrid ({...});') ** один раз **. В следующий раз вы можете сбросить новые данные с помощью '$ (" # jqGrid "). JqGrid (" getGridPagam "). Data = newDataArray; $ ("# jqGrid"). trigger ("reloadGrid"); 'или использовать' addRowData' для добавления строки в существующую сетку. – Oleg
Спасибо, Олег работал. – user1351757