Navgrid刷新按钮什么都不做

时间:2012-10-24 10:29:35

标签: jquery jqgrid

我有一个网格,当我点击刷新按钮时,它什么也没做。没有向服务器发出请求。但我可以看到它执行beforeRequest()函数。谁知道发生了什么?

jQuery("#paramlistFlex").jqGrid({
    url: root + mod + '/setlistview',
    datatype: "local",
    colNames:[' ', 'Name of Set', 'Description of Set', 'Date of Set'],
    colModel:[
        {name:'myac', width:50, fixed:true, sortable:false, resize:false, formatter:'actions', formatoptions:{keys:true, editbutton : false, delbutton : false, delOptions: {reloadAfterSubmit:false},editOptions: {reloadAfterSubmit:false}}},
        {name:'set_name',index:'set_name', width:200},
        {name:'set_desc',index:'set_desc', width:400},
        {name:'set_date',index:'set_date', width:200}
        ],
    width: $('.body').width()-25,
    height: ($('.body').height()-240)/2,
    pager: '#pagerFlex2',
    sortname: 'set_id',
    sortorder: "desc",
    editurl: root + mod + '/detailpost',
    caption:"Set of Parameter List",
    onSelectRow: function(id){
        activedf = "#paramlistFlex";
    },
    afterInsertRow: function () {
        var grid = $(this),
        iCol = getColumnIndexByName(grid,'myac'); // 'act' - name of the actions column
        grid.find(">tbody>tr.jqgrow>td:nth-child(" + (iCol + 1) + ")")
        .each(function() {
            if ($(this).find(">div>div").length == 2)
            {
                $("<div>",
                    {
                        title: "Delete",
                        mouseover: function() {
                            $(this).addClass('ui-state-hover');
                        },
                        mouseout: function() {
                            $(this).removeClass('ui-state-hover');
                        },
                        click: function(e) {
                            df_delete_1($(e.target).closest("tr.jqgrow").attr("id"));
                        }
                    }
                  ).css({float:"left"})
                   .addClass("ui-pg-div ui-inline-edit")
                   .append('<span class="ui-icon ui-icon-trash"></span>')
                   .prependTo($(this).children("div"));


            }
        });
    },
    beforeRequest: function() {
        var setid = $('input[name=item]').val();
        if (setid == "")
            setid = 0;

        jQuery("#paramlistFlex").jqGrid('setGridParam',{postData:{setid: setid}});
        console.log('hiya');
    }
});

jQuery("#paramlistFlex").jqGrid('navGrid','#pagerFlex2',{add:false,edit:false,del:false,search:false});
jQuery("#paramlistFlex").jqGrid('gridResize', {minWidth:350, maxWidth:1920, minHeight:80, maxHeight:1080} );

1 个答案:

答案 0 :(得分:0)

您在网格中使用datatype: "local"。从代码中你不清楚如何填充jqGrid。如果您使用addRowData填充,您应该知道这是填充本地网格的最慢方式。

url的情况下,datatype: "local"参数将被忽略,并且将使用本地数据重新加载网格。例如,如果您在第二页上或者数据已过滤,则过滤器将被重置,页码将为1.如果要从服务器加载数据,则必须更改{在触发“reloadGrid”事件之前{1}} datatype"json"关于"xml"