Показать сообщение отдельно
  #1 (permalink)  
Старый 17.10.2012, 09:46
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

Вопрос касательно jqgrid
Добрый день! Я делаю запрос на сервер, получаю оттуда данные, из которых строю уже jqgrid: dataType делаю local, подставляю colmodel, а после этого в цикле вставляю строки в таблицу. Собственно вопроса два:
1) Можно ли при подходе через dataType = local наполнять таблицу не в цикле после того, как на нее уже навешан jqGrid, т.е. сразу передать в нее строки также, как я передал colmodel
2) Второй вопрос касается pager - как ему передать, что общее количество страниц больше нуля (просто сейчас он показывает, что выведена 1 страница из 0)...
$.ajax({
                url: '/path/to/php',
                dataType: 'JSON',
                data: {},
                type: 'POST',
                success: function (data) {
                    if (typeof void null != typeof data['colmodel'] && data['colmodel'] != null &&
                        typeof void null != typeof data['data'] && data['data'] != null) {
                        $('#ListContacts').jqGrid("clearGridData");
                        $('#ListContacts').jqGrid({
                            jsonReader: {
                                repeatitems: false, 
                                id: 'NodId'
                            },
                            dataType: 'local',
                            colModel: data['colmodel'],
                            rowNum: typeof void null != typeof data['rows'] && data['rows'] != null ? data['rows'] : 20,
                            pager: '#ListContactsPager'
                        });
                        var rows = data['data'];
                        var i = 0;
                        while (rows[i]) {
                            $('#ListContacts').jqGrid('addRowData',i+1,rows[i]);
                            i++;
                        }
                    }
                }
            })
Ответить с цитированием