0

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

1 回答 1

0

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

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

var currentPageMinus10 = {ds_PageNumber}-10;

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

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

文档

于 2011-05-31T23:35:22.443 回答