Пользовательский DataPager для ListView в ASP.NET - PullRequest
1 голос
/ 22 ноября 2010

Я бы хотел получить предложение как на 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 Следующая Последняя

Что мне нужно сделать программно, чтобы изменить пейджер данных, чтобы получить желаемый результат, как в примере выше? Спасибо.

...