Кнопка обновления jqGrid по умолчанию для обновления текущей страницы

Потратьте довольно много времени, пытаясь найти, как установить кнопку обновления по умолчанию на пейджере jqGrid для обновления текущей страницы, но безуспешно.

вот моя сетка вкратце:

$grid = $("#schedule");
var last_selected_row;
$grid.jqGrid({
    url:'xtras/schedule.php',
    editurl:'xtras/schedule.php',
    datatype: "json",
    mtype:'GET',
    colModel:[
        .................................   
    ],
    height: "100%",
    minWidth: 900,
    rowNum:15,
    rowList:[10,15,20,30,50,100],
    viewrecords: true,
    sortname:"ID",
    sortorder: "desc",
    pager: '#schedule_pager',
    caption:"Snapper Release Schedule",

    loadonce:false,
    ajaxGridOptions: {cache: false},

    grouping:true,
    groupingView : {
        groupField : ['Date'],
        groupColumnShow : [true],
        groupOrder: ['desc'],
        groupDataSorted : true
    },

    gridview: true,

    ondblClickRow: function (row_id) {
        if(row_id != null) {
            if(row_id !== last_selected_row) {
                jQuery('#schedule').jqGrid('restoreRow',last_selected_row);
                jQuery('#schedule').jqGrid('saveRow',row_id);
                jQuery("#schedule").jqGrid('editRow',row_id, true, null, 
                    function(){ $("#schedule").trigger("reloadGrid", [{current: true}]); }, 
                    'xtras/schedule.php', 
                    null,{},{},{}
                );
                last_selected_row = row_id; 
            } else {
                last_selected_row=row_id;
            }
        } 
    }
});

$grid.jqGrid('setGroupHeaders', {
    useColSpanStyle: true, 
    groupHeaders:[
        {startColumnName: 'Date', numberOfColumns: 11, titleText: '<em>Main Info</em>'},
        {startColumnName: 'Sales Text', numberOfColumns: 4, titleText: '<em>Deadlines</em>'}
    ]
});

$grid.jqGrid('navGrid','#schedule_pager',{edit:false,add:false,del:false},{},{},{},{});

Теперь в пейджере есть поиск, обновление и разбиение на страницы, когда я нахожусь на любой странице, кроме первой, и нажимаю «Обновить» - он перезагружается на первую страницу. Как настроить перезагрузку текущей страницы? (когда я запускаю сетку перезагрузки, я использую [{current: true}], но как мне установить ее на кнопку обновления по умолчанию?)


person Elen    schedule 23.10.2013    source источник


Ответы (1)


Вам нужно просто использовать refreshstate: "current" опцию navGrid:

$grid.jqGrid("navGrid", "#schedule_pager",
    {edit: false, add: false, del: false, refreshstate: "current"}
);

Кстати, если вы используете navGrid в основном для создания пейджера с кнопками "Поиск" и "Обновить", вы можете изменить значения по умолчанию navGrid и использовать более поздний упрощенный вызов navGrid:

$.extend($.jgrid.nav, {
    edit: false,
    add: false,
    del: false
    refreshstate: 'current'
});
...
$grid.jqGrid("navGrid", "#schedule_pager");
person Oleg    schedule 23.10.2013
comment
так что в основном мне нужно перезагрузить сетку после ее загрузки? но не будет ли страница равна 1 после первого обновления (несмотря на то, что раньше было 5?) - person Elen; 23.10.2013
comment
@Элен: Прости! Кажется, я неправильно понял ваш вопрос. Вам нужно просто использовать refreshstate: "current" параметр navGrid: $grid.jqGrid("navGrid","#schedule_pager",{edit: false, add: false, del: false, refreshstate: "current"}); - person Oleg; 23.10.2013
comment
да! Я думал, что это должно быть что-то простое. я смотрел в документах, но не ясно: navGrid('#gridpager',{parameters}... parameters - an array of settings, defined below prmEdit, prmAdd, prmDel, prmSearch, prmView - person Elen; 23.10.2013