2012-01-28 31 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 }设置任何限制行...

相关问题