2012-01-28 32 views
5

這是正常還是我錯過了某些東西?如果使用loadonce,jqGrid只返回rowNum中定義的記錄:true

如果我設置loadonce: true,我的網格只返回5條記錄。

但是,如果我將其更改爲loadonce: false,電網越來越所有記錄

我的代碼如下。

$("#leave-detail-grid").jqGrid({ 
    url:'grid/grid_leave_detail.php', 
    datatype: 'xml', 
    mtype: 'GET', 
    colNames:['Date','Day','Approver','Leave Type','Status','Purpose | Reason'], 
    colModel :[ 
     {name:'start_date', index:'start_date', width:80, editable:false, align:"left", editrules:{required:true}}, 
     {name:'day', index:'day', width:80, editable:false, align:"left", editrules:{required:true}}, 
     {name:'sup', index:'sup', width:130, editable:false, align:"left", editrules:{required:true}}, 
     {name:'desc', index:'desc', width:130, editable:false, align:"left", editrules:{required:true}}, 
     {name:'status', index:'status', width:80, editable:false, align:"center", editrules:{required:true}}, 
     {name:'purpose', index:'purpose', width:180, editable:false, align:"left", editrules:{required:true}}  
    ], 
    height: 'auto', 
    pager: '#leave-detail-pager', 
    pgbuttons: true, 
    pginput: 'Yes', 
    pgtext: 'Yes', 
    rowNum:5, 
    rowList:[20,40,100,200,400], 
    sortname: 'start_date', 
    sortorder: 'asc', 
    loadonce: true, // to enable sorting on client side 
    viewrecords: true, 
    gridview: true, 
    caption: 'Search Purpose' 
}); 
$("#leave-detail-grid").jqGrid('navGrid',"#leave-detail-pager", 
     {edit:false,add:false,del:false,search:true}, 
     {zIndex:5234},{zIndex:5234},{zIndex:5234},{zIndex:5234} 
); 

回答

3

謝謝喬納森。我怎麼錯過演示:)

我添加colModel rowTotal: 2000,值-1不工作,這將顯示2000和區域經濟共同體

然後添加以下到我的服務器代碼

$totalrows = isset($_REQUEST['totalrows']) ? $_REQUEST['totalrows']: false; 
if($totalrows) { 
$limit = $totalrows; 
} 

而對於加載我們需要調整服務器代碼的所有記錄以覆蓋rowTotal參數。

$result = mysql_query("SELECT COUNT(*) AS count FROM leaveform WHERE emp_id='$emp_id' AND company_id='$company_id'"); 
$row = mysql_fetch_array($result,MYSQL_ASSOC); 
$count = $row['count']; 
$totalrows = $count; 
$limit = $totalrows; 
1

rowNum:5,表示網格將只使用5行。

loadonce: true意味着它只會加載一次。它也禁用尋呼機。

在此基礎上配置,即電網將只使用5行,因爲它不會從服務器上加載了,它永遠是相同的5

這裏鏈接到維基其中有最新的選項文件:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options

+0

感謝。我有成千上萬的數據,我想加載一次,如果我增加rowNum,我的網格大小也會增加,它的確很醜。對於龐大的數據集,必須有一種方法來處理客戶端的日期。 – genpet 2012-01-28 16:04:02

+0

@genpet將rowNum設置爲-1將刪除限制。然後,啓用尋呼機並立即加載所有數據。它應該工作正常。 – Jonathan 2012-01-28 18:04:45

+0

@genpet轉到此鏈接:http://www.trirand。com/blog/jqgrid/jqgrid.html然後,在左側,向下滾動到「3.7版新增內容」第二個選項是「從服務器立即加載」。這個例子似乎表明你在描述什麼。 – Jonathan 2012-01-28 18:08:43

1

如果您使用loadonce: true服務器應該返回所有行。數據應該分類爲sortnamesortorder參數,這些參數將作爲sidxsord發送到服務器。

返回數據的第一頁將被顯示。您仍然可以使用本地分頁,排序和過濾(搜索)數據。

定義sorttype參數以允許正確的本地數據排序可能很重要。

如果仍然存在問題,應該在服務器上附加XML問題的回答。所以你的問題的其他讀者將能夠重現這個問題。

最後一句話:您對於jqGrid的pginputpgtext選項使用了非常奇怪的值。您最好保留the documentation中所述的選項類型。

+0

謝謝。 rowTotal是服務器代碼的關鍵和一點小小的調整。感謝'pginput'和'pgtext' – genpet 2012-01-29 03:02:46

+0

@genpet:服務器可以忽略'rowTotal'並返回* all *記錄。這只是對服務器的推薦,但對於jqGrid的工作並不重要。在第一頁上將顯示'rowNum'行和*分頁應該與'loadonce:true'一起工作*。我可以重複,如果你仍然有問題,你應該用你使用的XML數據附加你的問題(2-3頁的數據就足夠了)。 – Oleg 2012-01-29 10:20:10

0

{ rowNum: 0 }設置任何限制行...

相關問題