免费jqGrid GridUnload并使用寻呼机重新创建错误

时间:2017-04-20 17:00:14

标签: jquery jqgrid free-jqgrid

更新 我现在猜测的是:网格#1被卸载并重新生成。但是,由于数据库服务器性能,网格会检索未更新的数据并在实际更新发生之前重新生成。我将GridUnload替换为刷新页面,有时网格会获取更新数据,有时则不会。由于主要问题已被更改,我更改了它的标题,但我将保留以前的上下文。

我有一个带有操作按钮的jqgrid(不在jqgrid中),它将在数据库中进行更改,并使用更新的数据卸载并重新创建网格(从数据库中重新生成)。

但是,此操作有两个不同的错误。 (有两种不同的网格。)

首先,重新创建的网格#1显示未更新的数据。我发现它正在使用版本jqGrid 4.14.1(2017-03-20)。但是,版本4.14.1(2017-04-04)和版本4.14.1(2017-04-20)无法正常工作。 我记得没错,我在2017-03-20之后没有更改任何代码,但只更新了jqgrid.src.js文件。我将此文件更新到版本4.14.1(2017-04-04)的原因是this issue

其次,Grid#2返回重复的.ui-jqgrid-pg-left类,如下图所示(.ui-jqgrid-pg-left与我重新生成网格一样生成。)这个只测试版本4.14.1(2017-04-20)。 Image

这是 Grid#1

的代码
$(document).ready(function () {
       LoadLGrid1();
        $('#btnUpdateData').click(function () {
                UpdateData();
                $('#tbDetails').jqGrid("GridUnload");
               LoadLGrid1();
        });
)};

    function LoadLGrid1() {
        GridArea = $('#tbDetails');
        GridArea.jqGrid({
            url: '/Locked/GetLockedDetailsDataSet',
            datatype: "json",
            contentType: "application/json; charset-utf-8",
            mtype: 'GET',
            emptyrecords: "There is no locked deals currently.",
            colModel: [
                {label: 'Locked By',        name: 'LockedBy',           sorttype: 'text',   searchoptions: {clearSearch: true}},
                {label: 'Status',           name: 'Status',             sorttype: 'text',   searchoptions: {clearSearch: true}},
                {label: 'Locked Date',      name: 'LockedDate',         sorttype: 'date',   searchoptions: {clearSearch: true},
                        //blahblah
                }
            ],
            rowNum: 20,
            rowList: [20, 30, 50],
            prmNames: {
                page:'defaultPageNumber',
                rows:'rowsPerPage'
            },
            forceClientSorting: true,
            sortname: 'LockedDate',
            rownumbers: true,
            viewrecords: true,
            loadonce: true,
            multiselect: true,
            multiPageSelection: false,
            pager: true,
            searching: {
                searchOperators: true,
                defaultSearch: 'cn',
                closeOnEscape: true,
                searchOnEnter: false,
                multipleSearch: true
            }

        });

        GridArea.jqGrid('filterToolbar', {
            ignoreCase: true,
            searchOperators: true
        });
        GridArea.jqGrid('navGrid', {
            edit: false,
            add: false,
            del: false,
            refresh: true,
            refreshtext: "Clear Filter",
            refreshtitle: "Clear Filter"
        });

    };

这是 Grid#2 的代码。它确实具有与#1相同的结构,但我会放在以防万一......

$(document).ready(function () {
       LoadLGrid2(selectedDealId);
        $('#btnUpdateData2').click(function () {
                UpdateData();
                $('#tbTaskDetails').jqGrid("GridUnload");
               LoadLGrid2(selectedDealId);
        });
)};


function loadGrid2(selectedDealId) {
            tbTaskDataArea = $('#tbTaskDetails');
            tbTaskDataArea.jqGrid({
                url: '/Tasks/GetTaskDataSet',
                postData: {
                    selectedDeal: selectedDealId
                },
                datatype: "json",
                contentType: "application/json; charset-utf-8",
                mtype: 'POST',
                emptyrecords: "There is no task associated with the deal currently.",
                colModel: [
                    { label: 'Task Id',         name: 'TaskId',         sorttype: 'number', searchoptions: { clearSearch: true },   width: 60,  align: 'center' },
                    { label: 'Description',     name: 'Description',    sorttype: 'text',   searchoptions: { clearSearch: true },   width: 270  },
                    { label: 'Create Date',     name: 'CreateDt',       sorttype: 'date',   searchoptions: { clearSearch: true },   width: 140,
                        //blahblah
                    }
                ],
                rowNum: 5,
                rowList: [5, 10, 15],
                prmNames: {
                    page: 'defaultPageNumber',
                    rows: 'rowsPerPage'
                },
                forceClientSorting: true,
                sortname: 'CreateDt',
                rownumbers: true,
                viewrecords: true,
                loadonce: true,
                multiselect: true,
                multiPageSelection: false,
                pager: true,
                searching: {
                    searchOperators: true,
                    defaultSearch: 'cn',
                    closeOnEscape: true,
                    searchOnEnter: false,
                    multipleSearch: true
                }
            });

            tbTaskDataArea.jqGrid('filterToolbar', {
                ignoreCase: true,
                searchOperators: true
            });
            tbTaskDataArea.jqGrid('navGrid', {
                edit: false,
                add: false,
                del: false,
                refresh: true,
                refreshtext: "Clear Filter",
                refreshtitle: "Clear Filter"
            });

        };

请帮我解决这个问题。谢谢!

0 个答案:

没有答案