Я бы хотел получить предложение как на 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 и т. Д. Следующая Последняя
Код у меня выше работает отлично. Однако, когда TotalRows ListView lvComputer больше 200, на странице много номеров подкачки.
Я хочу показать номер подкачки примерно в следующем формате:
Первая Предыдущая 1 2 3 ..... 9 10 11 Следующая Последняя
Первая Предыдущая 5 6 7 8 ..... 13 14 15 16 Следующая Последняя
Что мне нужно сделать программно, чтобы изменить пейджер данных, чтобы получить желаемый результат, как в примере выше? Спасибо.