Jon*_*son 47 javascript jquery jqgrid rowcount
jqGrid公开了一个属性rowNum
,您可以在其中设置要为每个页面显示的行数.如何将网格设置为仅显示所有行?
现在我只是设置了rowNum
一个非常高的东西,<%= int.MaxValue %>
但我想知道是否有更好的方法.
Jus*_*ier 53
在最新版本的jqGrid中,您可以将rowNum设置为-1以指示网格始终显示所有行:
rowNum: -1
Run Code Online (Sandbox Code Playgroud)
请在此处查看最新的jqGrid文档.
特别:
设置我们要在网格中查看的记录数.此参数传递给url以供检索数据的服务器例程使用.请注意,如果将此参数设置为10(即检索10条记录)并且服务器返回15,则只会加载10条记录.将此参数设置为-1(无限制)以禁用此检查.
更新
不幸的是,这种行为在jqGrid 3.6.3中被破坏了.根据托尼的这篇文章:
是的,这是真的.原因是新推出的卷轴:1.将来我们会纠正这种行为.
因此,jqGrid开发人员已经意识到这个问题,并且显然正计划在将来的版本中修复它.不幸的是这篇帖子是一年多以前的...
在这个时候,我所能推荐的就是你设置rowNum
了一个非常大的数字来模拟行为-1
.
您还可以尝试使用下面的whatispunk解决方案rowNum: ''
.但是,我在包含本地数据(loadonce: true
)的网格上尝试了这个.在尝试对行进行排序时,所有网格的本地数据都将消失.因此,对于具有本地数据的网格,此解决方案似乎不起作用,除非在更高版本的jqGrid中修复了此缺陷(我在jqGrid 3.8.2上测试过它).如果您有任何反馈意见,请在下面发表评论!
根据jqGrid团队的说法,现在已修复:
我已添加支持在寻呼机选择框上设置不同的显示值,包括-1为所有.
不过,我没有机会测试确认修复.据推测,此更改将在jqGrid 4.6.0之后的下一个版本中进行.
小智 9
jqgrid(无论如何)3.5似乎没有一个优雅的内置方式来做到这一点.到目前为止,我发现的最好的方法是在网格选项中添加以下内容:
rowList:[10,20,30,100000000],
loadComplete: function() {
$("option[value=100000000]").text('All');
},
Run Code Online (Sandbox Code Playgroud)
其中100000000比你将返回的最大行数高出一些任意数字,而选项[value =]行是这样你的用户界面看起来更好一些.Jenky,但对我有用.
这有效:
// Step1 - defines the rows
jqGridOptions.rowList =[10, 50, 100, 500, 'All'];
...
...
// Step2 - Change the 'All' to a meaningful value
loadComplete: function (data) {
$(".ui-pg-selbox option[value='All']").val(1000);
}
Run Code Online (Sandbox Code Playgroud)