问题描述
|
我正在使用SPRY分页,以分页XML数据集。假设我在数据集中有数千行,则SPRY分页显示100页。这迫使我的页面水平滚动,这是我不想要的效果。如何实现类似以下所示的效果或等效的效果:
<< < 1 2 3 4 5 .. 100 > >>
我已经尝试了好几天了。
请帮我解决。
谢谢
var myOspatches = new Spry.Data.XMLDataSet(\"include/myxml.xml\",\"system/ospatches/patch\");
var myOspatchesPage = new Spry.Data.PagedView( myOspatches,{ pageSize: pSize,forceFullPages:true,useZeroBasedindexes:true});
var myOspatchesPageInfo = myOspatchesPage.getPagingInfo();
这是分页的分页
<table id=\"osPatchesPagination\" style=\"width:100%;display: none;\">
<tr>
<td align=\"left\">
<!--<pre> <input type=\"button\" class=\"btn\" value=\"First\" onclick=\"myOspatchesPage.firstPage();\" /> <input type=\"button\" class=\"btn\" value=\"Prev\" onclick=\"myOspatchesPage.prevIoUsPage();\"/></pre>-->
<pre> <a href=\"javascript:myOspatchesPage.firstPage();\"><<</a> <a href=\"javascript:myOspatchesPage.prevIoUsPage();\"><</a> </pre>
</td>
<td align=\"center\">
<span spry:region=\"myOspatchesPageInfo\" spry:repeatchildren=\"myOspatchesPageInfo\">
<a spry:if=\"{ds_CurrentRowNumber} != {ds_RowNumber}\" href=\"#\" onclick=\"myOspatchesPage.goToPage(\'{ds_PageNumber}\')\">{ds_PageNumber}</a>
<span spry:if=\"{ds_CurrentRowNumber} == {ds_RowNumber}\" class=\"currentPage\">{ds_PageNumber}</span>
</span>
</td>
<td align=\"right\">
<pre> <a href=\"javascript:myOspatchesPage.nextPage();\">></a> <a href=\"javascript:myOspatchesPage.lastPage();\">>></a> </pre>
<!--<pre> <input type=\"button\" class=\"btn\" value=\"Next\" onclick=\"myOspatchesPage.nextPage();\" /> <input type=\"button\" class=\"btn\" value=\"Last\" onclick=\"myOspatchesPage.lastPage();\" /></pre>-->
</td>
</tr>
</table>
解决方法
同样,这不是一个完整的答案,但是应该给您一个理论上的例子。
在查看了文档之后,{ds_PageNumber}是完成这项工作所需要的。如果只说10个页码,则对变量进行一些计算,例如:
var currentPageMinus10 = {ds_PageNumber}-10;
应该允许您通过将其链接到标签来自己构建导航栏。
当然,如果当前页面-10小于1或大于页面总数,那么您将需要进行检查和调整。
文献资料