Перестал работать пейджер jqGrid - PullRequest
0 голосов
/ 29 сентября 2011

Последние пару дней я экспериментировал с jqGrid 4.1.2, постоянно активируя все больше и больше его встроенных функций. Где-то по пути перестал работать пейджер, и я не могу понять, что не так. Когда сетка загружается, я хорошо вижу данные для первой страницы, но когда я переключаю страницы, данные остаются прежними. Изменяется только счетчик. Если я выберу 100 из выпадающего списка количества строк, я смогу увидеть все данные.

Я сравнил с примерами на http://www.trirand.com/blog/jqgrid/jqgrid.html, и все, кажется, совпадает, но я признаюсь, что я не лучший JavaScript-кодер. Вот оскорбительный код:

<script type="text/javascript" language="javascript"> 
jQuery(document).ready(function() {
    jQuery("#testgrid").jqGrid({
        url:'/Main/DynamicGridData/',
        mtype:'POST',
        datatype:'json',
        colNames: [
            'CustomerId',
            'RecordStartUtc',
            'RecordEndUtc',
            'Id',
            'Name',
            'Status',
            'AudioTitle',
            'ServerId',
            'ServerName',
            'ApplicationInstanceId',
            'ApplicationInstanceName',
            'ApplicationName',
            'ChannelId',
            'ChannelFullName',
        ],
        colModel: [
            { name: 'CustomerId', index: 'CustomerId', width: 0, align: 'left' },
            { name: 'RecordStartUtc', index: 'RecordStartUtc', width: 0, align: 'left' },
            { name: 'RecordEndUtc', index: 'RecordEndUtc', width: 0, align: 'left' },
            { name: 'Id', index: 'Id', width: 0, align: 'left' },
            { name: 'Name', index: 'Name', width: 0, align: 'left' },
            { name: 'Status', index: 'Status', width: 0, align: 'left' },
            { name: 'AudioTitle', index: 'AudioTitle', width: 0, align: 'left' },
            { name: 'ServerId', index: 'ServerId', width: 0, align: 'left' },
            { name: 'ServerName', index: 'ServerName', width: 0, align: 'left' },
            { name: 'ApplicationInstanceId', index: 'ApplicationInstanceId', width: 0, align: 'left' },
            { name: 'ApplicationInstanceName', index: 'ApplicationInstanceName', width: 0, align: 'left' },
            { name: 'ApplicationName', index: 'ApplicationName', width: 0, align: 'left' },
            { name: 'ChannelId', index: 'ChannelId', width: 0, align: 'left' },
            { name: 'ChannelFullName', index: 'ChannelFullName', width: 0, align: 'left' },
        ],
        pager:'#gridpager',
        rowNum:25,
        rowList:[25,50,75,100],
        sortname:'Id',
        sortorder:'Asc',
        viewrecords:true,
        imgpath:'/Content/themes/base/images',
        caption:'Test Grid',
        autowidth:true,
        width:'100%',
        height:'100%',
        hoverrows:false
    });
    jQuery("#testgrid").jqGrid(
        'navGrid','#gridpager',
        {view:true,edit:false,add:false,del:false},{},{},{},
        {multipleSearch:true,multipleGroup:false},{closeOnEscape:true}
    );
});

</script>

<table id="testgrid"></table>
<div id="gridpager"></div>

Спасибо заранее, // Линус

1 Ответ

0 голосов
/ 29 сентября 2011

Нет места для тестирования вашего кода, но попробуйте изменить значение «сортировщика» «Asc» на все строчные буквы.

Если вы используете пейджинг на стороне сервера, добавьте это свойство:

loadonce: false;

ref: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options

Также проверьте на своем коде на стороне сервера, поступает ли вообще запрос на вторую страницу!

...