Как привязать модель Backbone к jqGrid? - PullRequest
2 голосов
/ 27 декабря 2011

Я использую Backbone вместе с jQuery и jqGrid и сталкиваюсь с проблемой связывания коллекции магистрали с jqGrid.

Это ответ, который я получаю от сервера:

{"DogModel":[
    {"name":"Jane","breed":"Great Dane"},
    {"name":"Rocky","breed":"golden Retriver"},
    {"name":"Jim","breed":"Lab"}
]}

В представлении, Я получаю данные как

[{"name":"Jane","breed":"Great Dane"},
{"name":"Rocky","breed":"golden Retriver"},
{"name":"Jim","breed":"Lab"}]

// код jqGgrid

jQuery("#dogsList").jqGrid({ 
    datatype: 'json',
    data:this.collection.models.toJSON(),
    width:'100%',
    colNames:['name', 'breed'], 
    colModel:[  
        {name:'name', align:'left'},
        {name:'breed', align:'left'}
    ],
    loadComplete : function(data) {
        alert('grid loading completed ' + data);
    },
    loadError : function(xhr, status, error)  {
        alert('grid loading error' + error);
    }
});

Я пытался заменить data:this.collection.models.toJSON(), data:this.collection.models[0].toJSON() и data:this.collection.toJSON(), он бросает неожиданный символошибка разбора.

Что мне нужно сделать, чтобы привязать модель к jqGrid?

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

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

Вам нужно изменить datatype на local и вручную добавить каждую строку в jqGrid.

Лучше всего увидеть, как работает код на jsFiddle и узнать, как работает код: http://jsfiddle.net/Atinux/qM98D/

1 голос
/ 10 апреля 2013

Вы должны попробовать:

datatype: 'local',
data:this.collection.toJSON()

Это работает для меня.

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