【问题标题】:jqGrid default refresh button to refresh current pagejqGrid默认刷新按钮刷新当前页面
【发布时间】:2013-11-01 12:17:49
【问题描述】:

花了很多时间试图找到如何在 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}],但是如何将其设置为默认刷新按钮?)

【问题讨论】:

    标签: jquery jqgrid pager


    【解决方案1】:

    你只需要使用navGridrefreshstate: "current"选项:

    $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");
    

    【讨论】:

    • 所以基本上我必须在加载网格后重新加载它?但是第一次刷新后页面不会等于 1(尽管之前是 5?)
    • @Elen:对不起!看来我误解了你的问题。您只需使用navGridrefreshstate: "current" 选项:$grid.jqGrid("navGrid","#schedule_pager",{edit: false, add: false, del: false, refreshstate: "current"});
    • 是的!我认为这应该是一些简单的事情。我查看了文档,但不清楚:navGrid('#gridpager',{parameters}... parameters - an array of settings, defined below prmEdit, prmAdd, prmDel, prmSearch, prmView
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多