我想得到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
显示/隐藏datapager
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下一个最后
我需要以编程方式修改数据抓取器以获得所需的结果,如上例所示?谢谢。