簡體   English   中英

JqG​​rid分頁器問題-總頁數和記錄無法正確顯示

[英]JqGrid pager problem - Total pages and records does not display correctly

問題:我的jqGrid傳呼機顯示NaN的Page 1而不是正確的頁面數。

Fiddler顯示我從WCF調用中獲取了正確的json:

{"total":1,"page":1,"records":2,"rows":[{JDEVendorNumber":99999999,
 "VendorName":"Super   Vendor","BillID":"99999999wwerer                      ",
 "CommunityName":"Post Abbey                              ",
 "PrimaryAcctNumber":"wwerer","CommunityID":"600402","RecordID":8}]}

我的網格設置如下:

$invoiceGrid.jqGrid({
        datatype: 'json',
        mtype: 'GET',
        url: url,
        colNames: ['Vendor Name', 'CommunityName', 'Primary Acct Nbr', 'BillID'],
        colModel: [
                        { name: 'VendorName', index: 'VendorName', width: 203, align: 'left' },
                        { name: 'CommunityName', index: 'CommunityName', width: 215, align: 'left' },
                        { name: 'PrimaryAcctNumber', index: 'PrimaryAcctNumber', width: 260, align: 'left' },
                        { name: 'BillID', index: 'BillID', hidden: true }
                     ],
        rowNum: 50,
        gridview: true,
        rowList: [10, 20, 30, 50],
        pager: $('#invoicepager'),
        sortname: 'PrimaryAcctNumber',
        viewrecords: true,
        sortorder: "asc",
        rownumbers: false,
        hidegrid: false,
        repeatitems: false,
        recordtext: 'Bill(s) {0} - {1} ',
        cell: "",
        height: "auto",
        loadComplete: function(data) {
           //alert('total is ' + data.responseText);
            if ($invoiceGrid.jqGrid('getGridParam', 'records') == 0) {
                NoRecordsFound();
            } else {
                SetSearchResultsInterface('bills');
            }

            EnableControl($search, true);
            Global.grdInitialized = true;
            $progressbar.hide();
        },
        jsonReader: {

            repeatitems: false,
            id: "RecordID"
        }
    }).navGrid('#invoicepager', { edit: false, add: false, del: false, search: false, refresh: false });

我的數據正確顯示,但分頁器顯示總頁數和總記錄的NaN。 有任何想法嗎? 謝謝您的幫助

似乎記錄recordtext正確格式應包含3個元素,例如

recordtext: "View {0} - {1} of {2}"

你用

recordtext: 'Bill(s) {0} - {1} '

您可以使用

recordtext: 'Bill(s) {0} - {1} of {2}'

代替。 但是在使用原始數據的情況下,我也無法真正重現您的問題(請參見http://www.ok-soft-gmbh.com/jqGrid/PagerProblem.htm ,該文件沒有問題)。 此外,您的JSON數據應該是固定的:

[{JDEVendorNumber"

應該固定為

[{"JDEVendorNumber"

但可能只在發布數據期間出現。

奧列格(Oleg),通過查看您發送給我的示例代碼,我發現要使尋呼機正常工作,您需要包含grid.formedit.js。 在我的頁面中,我僅引用了grid.locale-en.js和jquery.jqGrid.min.js。 顯然這還不夠。 我想,對我來說,教訓是要包括jqGrid下載中包含的所有.js庫。 謝謝你的幫助

盡管這里似乎不是問題,但是loadonce參數可能會引起類似的問題(總頁數始終設置為1)。 應該將其強制設置為false

$myGrid.jqGrid({
        datatype: 'json',
        loadonce: false,
        ...
}

loadonce參數可防止客戶端在初始加載后加載其他數據。 副作用是,客戶端僅使用行數來填充尋呼機,而忽略totalrecords在服務器的響應中。

在我自己的代碼中, loadonce必須已默認設置為true ,因為該尋呼機在我將其顯式設置為false就可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM