我想同时获得 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 下一个 最后一个
我需要以编程方式做什么来修改数据分页器以获得所需的结果,如上面的示例?谢谢你。