如何使用spry分页只显示几页

时间:2011-05-27 12:33:59

标签: html spry

我正在使用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>

1 个答案:

答案 0 :(得分:0)

同样,这不是一个完整的答案,但应该给你一个理论上的例子。

查看文档后,{ds_PageNumber}就是完成这项工作所需要的。如果您只想说10个页码,那么可以对变量进行一些计算,例如:

var currentPageMinus10 = {ds_PageNumber}-10;

应该允许您通过将其链接到标记来自己构建导航栏。

如果当前页面 - 10小于1或大于总页数,那么您需要相应地检查和调整。

Documentation