【JQGRID DOCUMENTATION】.学习笔记.3.Pager

处理大量数据时,一次只想显示一小部分。这时就需要Navigation Bar。目前Pager不能用于TreeGrid。

定义

1 <body> 2 ... 3 <table id="list"></table> 4 <div id="gridpager"></div> 5 ... 6 </body> 7 8 jQuery("#grid_id").jqGrid({ 9 ... 10 pager : '#gridpager', 11 ... 12 });

定义高度grid,pager是grid的一部分,宽度等于gird的宽度。

如果你想自定义pager,你可以使用自定义,并且不在pager选项中设置。

1 $.jgrid = { 2 defaults : { 3 recordtext: "View {0} - {1} of {2}", 4 emptyrecords: "No records to view", 5 loadtext: "Loading...", 6 pgtext : "Page {0} of {1}" 7 }, 8 ... 9 }

默认显示为这样。可以有两种方法变更设这

  1. 如果想全局改变,可以这样做
1 jQuery.extend(jQuery.jgrid.defaults,{emptyrecords: "Nothing to display",...});

      2.    如果只在特定的grid中改变

1 jQuery("#grid_id").jqGrid({ 2 ... 3 pager : '#gridpager', 4 emptyrecords: "Nothing to display", 5 ... 6 });

一般情况下,pager显示在grid的下面。pager的复制品也能显示在grid的上方。

通常,我们将pager创建在三个方位,左中右。当你尝试pager的替换附加信息,pager会自动适应大小。如果计划替换大量的元素,需要设置grid的宽度。

默认地,paging元素放在pager的中间。记录信息在pager的右边。可以使用pagerpos和recordpos改变他们的位置。

目前,代表pager button的icon,是硬编码的,这样可以使用jQuery UI主题icons。

属性:

Property Type Description Default Can be changed?
lastpage integer 只读属性。代表从请求返回的总页数 0 No
pager mixed 定义我们要用来导航记录的pager bar。Navigation layer可以被放置在任何地方,由html决定。 empty string.当前只能有一个pagebar No
pagerpos string 指明pager在grid中的位置。默认地,一个pager被创建后,它被分割为三部分。一部分是pager,一部分是navigator buttons,一部分是record信息 center No
pgbuttons boolean 指明pager可用时,是否显示pager buttons。 true No
pginput boolean 指明如果有用户可以改变请求页数的input box true No
pgtext string 显示当前页面状态的信息。第一个值时当前被加载的页面。第二个选项是总页数 See lang file Yes
reccount integer 只读属性。指定grid中精确的行数。例如,定义rowNum参数为15,从服务器返回records参数为20。这时records参数为20,reccount参数为15,grid显示15条记录 0 No
recordpos string 指明recordin信息在pager上的位置,可以是left,center,right right No
records integer 只读属性。指明grid中从请求返回的记录数 none No
recordtext string pager上显示的表现信息。这个选项只有在viewrecord选项设为true时可用。只有总记录数大于0时,文本才显示。为了显示或隐藏一些信息,{0}请求记录开始的位置。{1}结束位置。{2}返回记录的总条数 see lang file Yes
rowList array[] 在pager中用一个数组构建一个select box,它可以用来改变一页显示的行数。在执行期间改变这个值,这个参数会替代rowNum参数传递给Url。如果元素为空,不会显示在pager上。经典地,可以设为[10,20,30]。如果rowNum参数=30,那么select box中被选择的值时30 empty array[] No
rowNum integer 设置在grid中显示多少记录。这个参数会传递给url,服务器用来生成数据 20 Yes
viewrecords boolean 定义是否在pager bar中显示查询的总条数 false No

所有属性都能在jqGrid对象创建后被修改,但是需要重载grid。通过触发器reloadGrid可以做到。

1 jQuery("#grid_id").setGridParam({rowNum:10}).trigger("reloadGrid");

Pager相关的事件只有一个

Event Parameters Description
onPaging pgButton 当点击page button后,在获取数据内容前触发。当用户在input box中输入一个页数并按回车,也会触发。当select box中选中的数字变了,也会触发。这个事件我们只传递一个参数pgButton,它可以是按钮点击的frist,last,prev,next。
posted @ 2013-09-10 10:24  Reinhard_Hsu  阅读(366)  评论(0编辑  收藏  举报