Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery jqGrid:将新数据分配给网格后,保留排序、分页和筛选工具栏选择_Jquery_Sorting_Jqgrid_Grid_Paging - Fatal编程技术网

Jquery jqGrid:将新数据分配给网格后,保留排序、分页和筛选工具栏选择

Jquery jqGrid:将新数据分配给网格后,保留排序、分页和筛选工具栏选择,jquery,sorting,jqgrid,grid,paging,Jquery,Sorting,Jqgrid,Grid,Paging,我有带分页、排序、过滤器工具栏和两个下拉列表的jqgrid,当数据上发生任何CRUD操作时,我正在使用signalR。服务器发送刷新json并将其重新绑定到网格 在将新的json重新绑定到网格后,我想在dropdownlistin filtertoolbar和inputfields以及filtertoolbar中保留旧的排序、分页和值。请帮助 这是我正在使用的代码 function PopulateOrdersTable(CCOrder) { var gridPageNumber = 1

我有带分页、排序、过滤器工具栏和两个下拉列表的jqgrid,当数据上发生任何CRUD操作时,我正在使用signalR。服务器发送刷新json并将其重新绑定到网格

在将新的json重新绑定到网格后,我想在dropdownlistin filtertoolbar和inputfields以及filtertoolbar中保留旧的排序、分页和值。请帮助

这是我正在使用的代码

function PopulateOrdersTable(CCOrder) {
    var gridPageNumber = 1;
    if ($(".ui-pg-input").val() != "1" && $(".ui-pg-input").val() != undefined) {
        gridPageNumber = $(".ui-pg-input").val();
    }

    var sortColumnName = $("#jqgrid").jqGrid('getGridParam', 'sortname');
    var sortOrder = $("#jqgrid").jqGrid('getGridParam', 'sortorder');

    $('#jqgrid').jqGrid('GridUnload');

    if (CCOrder != null) {
        jQuery("#jqgrid").jqGrid({
            data: CCOrder,
            datatype: "local",
            height: 'auto',
            ignoreCase: true,
            stringResult: true,
            colNames: ['#', 'Driver', 'Customer', 'Order Time', 'Delivery Time', 'ETA (Min(s))', 'Amount (AED)', 'Status'],
            colModel: [{
                name: 'OrderId',
                index: 'OrderId',
                width: 50
            }, {
                name: 'DriverName',
                index: 'DriverName',
                width: 120,
                sorttype: "string"
            }, {
                name: 'CustomerName',
                index: 'CustomerName',
                width: 120,
                sorttype: "string"
            }, {
                name: 'StringOrderTime',
                index: 'StringOrderTime',
                sorttype: "date",
                width: 80,
                sopt: ['eq'],
            }, {
                name: 'StringDeliveryTime',
                index: 'StringDeliveryTime',
                sorttype: "date",
                width: 80,
                sorttype: "string",
                sopt: ['eq'],
            }, {
                name: 'StringCustomerETA',
                index: 'StringCustomerETA',
                sorttype: "number",
                width: 70,
                sopt: ['eq'],
            }, {
                name: 'OrderAmount',
                index: 'OrderAmount',
                width: 50,
                sorttype: "number",
                sopt: ['eq'],
            }, {
                name: 'OrderStatus',
                index: 'OrderStatus',
                width: 150,
                sorttype: "string"
            }],
            afterRefresh: function () { ("#jqgrid").jqGrid('setGridParam', { search: true }); },
            rowNum: 5,
            //rowList: [5, 10, 15],
            pager: '#pjqgrid',
            sortname: 'CustomerETA',
            toolbarfilter: true,
            viewrecords: true,
            sortorder: "asc",
            autowidth: true,
            onSelectRow: function (id) {

                var myGrid = $('#jqgrid'),
                    selRowId = myGrid.jqGrid('getGridParam', 'selrow'),
                    celValue = myGrid.jqGrid('getCell', selRowId, 'OrderId');

                PopulateOneDriverOneOrder(celValue);
            }
        });

        setSearchSelect('OrderId', CCOrder);
        setSearchSelect('DriverName', CCOrder);
        setSearchSelect('CustomerName', CCOrder);

        setSearchSelect('OrderStatus', CCOrder);

        $("#jqgrid").jqGrid('filterToolbar', {  autosearch:true, searchOnEnter: false, defaultSearch: "cn" });
        //$("#jqGrid").setGridParam({datatype: 'json', url:'/get_data.php'});
        $("#jqgrid")[0].triggerToolbar();

        $(".ui-jqgrid").removeClass("ui-widget ui-widget-content");
        $(".ui-jqgrid-view").children().removeClass("ui-widget-header ui-state-default");
        $(".ui-jqgrid-labels, .ui-search-toolbar").children().removeClass("ui-state-default ui-th-column ui-th-ltr");
        $(".ui-jqgrid-pager").removeClass("ui-state-default");
        $(".ui-jqgrid").removeClass("ui-widget-content");

        // add classes
        $(".ui-jqgrid-htable").addClass("table table-bordered table-hover");
        $(".ui-jqgrid-btable").addClass("table table-bordered table-striped");

        $(".ui-pg-div").removeClass().addClass("btn btn-sm btn-primary");
        $(".ui-icon.ui-icon-plus").removeClass().addClass("fa fa-plus");
        $(".ui-icon.ui-icon-pencil").removeClass().addClass("fa fa-pencil");
        $(".ui-icon.ui-icon-trash").removeClass().addClass("fa fa-trash-o");
        $(".ui-icon.ui-icon-search").removeClass().addClass("fa fa-search");
        $(".ui-icon.ui-icon-refresh").removeClass().addClass("fa fa-refresh");
        $(".ui-icon.ui-icon-disk").removeClass().addClass("fa fa-save").parent(".btn-primary").removeClass("btn-primary").addClass("btn-success");
        $(".ui-icon.ui-icon-cancel").removeClass().addClass("fa fa-times").parent(".btn-primary").removeClass("btn-primary").addClass("btn-danger");

        $(".ui-icon.ui-icon-seek-prev").wrap("<div class='btn btn-sm btn-default'></div>");
        $(".ui-icon.ui-icon-seek-prev").removeClass().addClass("fa fa-backward");

        $(".ui-icon.ui-icon-seek-first").wrap("<div class='btn btn-sm btn-default'></div>");
        $(".ui-icon.ui-icon-seek-first").removeClass().addClass("fa fa-fast-backward");

        $(".ui-icon.ui-icon-seek-next").wrap("<div class='btn btn-sm btn-default'></div>");
        $(".ui-icon.ui-icon-seek-next").removeClass().addClass("fa fa-forward");

        $(".ui-icon.ui-icon-seek-end").wrap("<div class='btn btn-sm btn-default'></div>");
        $(".ui-icon.ui-icon-seek-end").removeClass().addClass("fa fa-fast-forward");

        if (gridPageNumber != 1) {
            grid = $('#jqgrid')
            grid.setGridParam({
                page: gridPageNumber,
                sortname: sortColumnName,
                sortorder: sortOrder,
            });
            grid.trigger("reloadGrid");
        }
        else
        {
            grid = $('#jqgrid')
            grid.setGridParam({
                sortname: sortColumnName,
                sortorder: sortOrder,
            });
            grid.trigger("reloadGrid");
        }
    }
}

你的问题应该包括更多的细节。重新绑定可以用许多不同的方式进行解释。你必须看看你做了什么才能帮助你。可能来自的代码可以帮助您,但我只是尝试猜测,因为我不确定我是否正确理解您的操作。好的,我的数据在dbserver中的表中更新后,将立即刷新网格。然后json从服务器发送到客户端,然后我将新数据重新绑定到网格。例如,在此过程中,如果有人正在过滤某些记录或任何其他内容,则文件管理器会被重置,并且该人必须再次过滤,我会设法保存页码和排序,但仍然无法保存过滤器选项我也将signalR与jqGrid结合使用,但是你应该明白,一个人可以为你写的东西写很多不同的实现。如果你只是解释一下你在做什么,而不是发布代码片段,恐怕没有人能帮你。如果您正确地更新了数据,那么在jqGrid中更新数据之后,可能可以调用triggerToolbar。我可以将你的问题与以下问题进行比较:我有一个不符合我要求的程序。你能帮我解决这个问题吗?很明显,您的描述并不常见,但仍然没有足够的详细信息。triggerToolbar适用于我谢谢您的支持欢迎您!我很高兴能帮助你。我建议你看一下自述文件和其他的。它包含许多增强功能。特别是对开箱即用的支持可能会让您感兴趣。代码发布在所有存储库中,可以从中访问。