在JqGrid中,我们如何根据返回的总记录设置rowList?默认设置为rowList:[10,20,30],
我想按照记录的数量设置它,例如,如果返回的总记录数为50,则我的rowList应该是
rowList:[10,20,30,40,50],
如果有20条记录,则应为rowList:[10,20],
我可以看到总记录在JSON对象中返回,我可以将其作为
jQuery("#myGrid").jqGrid('getGridParam', 'records');
var records = jQuery(grid_selector).jqGrid('getGridParam', 'records');
console.log('recods:',records);
jQuery(grid_selector).jqGrid('setGridParam', {rowList: [10,20,30,50]});
var rowList = jQuery(grid_selector).jqGrid('getGridParam', 'rowList');
console.log('rowList:',rowList);
// Above code works
jQuery(grid_selector).trigger('reloadGrid');
// Reload grid does not work
答案 0 :(得分:0)
如果您可以通过以下方式获取记录:
jQuery("#myGrid").jqGrid('getGridParam', 'records');
然后:
function make_array(count)
{
var record_count=count;
var record_array=[]
for(i=10;i<=record_count;i+=10)
{
record_array.push(i);
}
return "rowlist:["+record_array.valueOf()+"]";
}
示例:
答案 1 :(得分:0)
我不确定我是否理解正确。如果您希望jqGrid在一个页面上显示所有记录,则只需将rowNum
值设置为足够大的值(例如rowNum: 10000
)。基于rowList
构建的选择中显示的值允许用户更改页面大小。如果用户更改了值,则会向服务器填写新请求(如果您不使用本地datatype
),则rowNum
值将被更改,并且数据页面将从服务器
所以你可以使用足够大的rowNum
值。您可以考虑删除寻呼机中不需要的元素(请参阅the documentation)。如果您想为用户提供显示所有数据的可能性,您只需在rowList
数组中提供足够大的值即可。例如
rowNum: 10,
pager: "#mypager",
rowList: [5, 10, 20, 50, 10000]
通过执行以下行
,可以让用户看起来更大“10000”$("#mypager option[value=10000]").text("All");
mypager
是pager
的ID。以上行只会更改选项中选项的文本。因此<option>
value="10000"
All
将包含10000
而不是{{1}},这对用户来说更为舒适。