Данные массива загрузки jqgrid - PullRequest
5 голосов
/ 19 января 2011

У меня есть набор данных, как в следующем примере, и я хотел бы загрузить его в сетку.Однако я не уверен, как, поскольку у данных нет имени.

[[48803,"DSK1","","02200220","OPEN"],[48769,"APPR","","77733337","ENTERED"]]

Ответы [ 2 ]

5 голосов
/ 19 января 2011

Что вам нужно, это просто использовать следующее localReader

localReader: {
    repeatitems: true,
    cell: "",
    id: 0
}

Я сделал для вас демо , которое показывает вживую, как оно работает.

ОБНОВЛЕНО : Как я мог узнать, что реальность не так хороша, как документация . Использование localReader может помочь вам заполнить сетку данными из параметра data пользовательской структурой, но другие части jqGrid: локальная сортировка и поиск не работают корректно с этой структурой data параметра. Я интерпретирую это как ошибку. В качестве практического решения я бы порекомендовал вам преобразовать ваши пользовательские данные в массив именованных объектов, например

[{id:48803,col2:"DSK1",col3:"",col4:"02200220",col5:"OPEN"},
 {id:48769,col2:"APPR",col3:"",col4:"77733337",col5:"ENTERED"}]

с именами соответствует именам столбцов в colModel. Если вы будете использовать параметр data в форме, все будет отлично работать в jqGrid.

ОБНОВЛЕНО 2 : Посмотрите на источник фиксированного примера , и будет понятно, что я имею в виду. В вашем случае преобразование данных может быть примерно следующим

var myNewData = [];
for (var i=0,l=mydata.length; i<l; i++) {
    var d = mydata[i];
    myNewData.push({id:d[0],col2:d[1],col3:d[2],col4:d[3],col5:d[4]});
}

Решение не такое элегантное, как с localReader, но оно работает без каких-либо ограничений.

2 голосов
/ 19 января 2011

Ну, я не очень знаком с jqgrid, но вы можете просто присвоить свои данные ассоциативному массиву и затем загрузить его.

Пример здесь:

http://jsfiddle.net/QWcrT/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...