1

我想同时获得 C# 和 VB.NET 的建议。

我有跟随 DataPager 来处理 ListView 的分页。

DataPager 标记

 <asp:DataPager ID="dpComputer" runat="server" 
        PagedControlID="lvComputer" PageSize="10">
        <Fields>
            <asp:NextPreviousPagerField ShowFirstPageButton="True" ShowNextPageButton="False"  />
            <asp:NumericPagerField NumericButtonCssClass="dpTimeSheet" ButtonCount="100" ButtonType="Image" />
            <asp:NextPreviousPagerField ShowLastPageButton="True" ShowPreviousPageButton="False"  />
        </Fields>
    </asp:DataPager>

 
 

处理 DataPager 事件

        Protected Sub lvComputer_PagePropertiesChanged(ByVal sender As Object, ByVal e As EventArgs) Handles lvComputer.PagePropertiesChanged
    
            LoadData()
      
        End Sub

显示/隐藏数据分页器

    Protected Sub lvComputer_DataBound(ByVal sender As Object, ByVal e As EventArgs) Handles lvComputer.DataBound

        dpComputer.Visible = dpComputer.PageSize <= dpComputer.TotalRowCount

    End Sub

上面的代码产生以下输出:

第一个 上一个 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 等等 下一个 最后

我上面的代码工作正常。但是,当 ListView lvComputer 的 TotalRows 超过 200 时,页面上有很多分页数。我想以以下格式显示寻呼号码:

第一个 上一个 1 2 3 ..... 9 10 11 下一个 最后一个

第一个 上一个 5 6 7 8 ..... 13 14 15 16 下一个 最后一个

我需要以编程方式做什么来修改数据分页器以获得所需的结果,如上面的示例?谢谢你。

4

0 回答 0