如果使用loadonce:true,则jqGrid仅返回rowNum中定义的记录

时间:2012-01-28 15:32:42

标签: jquery jqgrid rownum

这是正常还是我遗失了什么?

如果我设置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}
);

4 个答案:

答案 0 :(得分:3)

谢谢乔纳森。我怎么错过那个演示:)

我添加了colModel rowTotal: 2000,值-1不起作用,这将显示2000个recs

然后将以下内容添加到我的服务器代码

$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 :(得分:1)

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

loadonce: true表示它只会加载一次。它还会禁用寻呼机。

根据此配置,该网格将仅使用5行,并且由于它不再从服务器加载,因此它将始终相同5.

这是指向Wiki的链接,其中包含最新的选项文档:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options

答案 2 :(得分:1)

如果您使用loadonce: true,则服务器应返回所有行。数据应根据sortnamesortorder参数进行排序,这些参数将作为sidxsord发送到服务器。

将显示返回数据的第一页。您仍然可以使用本地分页,排序和过滤(搜索)数据。

定义sorttype参数以允许正确的本地数据排序可能很重要。

如果您仍然遇到问题,则应该使用服务器的XML响应附加您的问题。所以你问题的其他读者将能够重现这个问题。

最后一句话:您对jqGrid的pginputpgtext选项使用非常奇怪的值。您最好保留the documentation中描述的选项类型。

答案 3 :(得分:0)

{ rowNum: 0 }设置无限制行...