Можно ли «назначить» свойство PageCount для ASP.NET GridView? - PullRequest
1 голос
/ 13 ноября 2008

У меня есть веб-приложение, которое использует хранилище данных, у которого есть свой встроенный пейджинг. Класс PagedResult сообщает мне общее количество страниц. Что я хотел бы сделать это (после привязки моего ASP.NET GridView) сделать это:

MyGridView.PageCount = thePageCount;

А затем заставьте GridView волшебным образом создавать ссылки нумерации страниц, как обычно, если бы он сам что-то делал.

Проблема в том, что PageCount является свойством только для чтения ... так, как я могу сделать это просто?

Ответы [ 4 ]

2 голосов
/ 13 ноября 2008

Для использования встроенной подкачки GridView взаимодействует с источником данных. GridView имеет настраиваемое свойство для PageSize.

Если вы используете ObjectDataSource, вы конфигурируете и SelectMethod, и SelectCountMethod. Вы можете либо изменить класс PagedResult, чтобы он возвращал количество записей вместо количества страниц, либо заключить вызов PagedResult в метод для преобразования количества страниц в число записей (PageCount * PageSize).

Если ваш класс PagedResult существует только для поддержки веб-приложения, вам следует подумать о том, чтобы модифицировать его так, чтобы он больше походил на типичный источник выгружаемых данных.

0 голосов
/ 12 ноября 2009
       Dim myCount as Integer = 1 'this sets the page count to 1 
       While (oreader.Read())
            myCount += 1 'increments once for everytime a item is counted
            'this sets an array for the items to go into
            idFname = oreader.GetOrdinal("workCenter")
            'this retrieves the values at those indices
            fName = oreader.GetValue(idFname)
            BulletedList1.Items.Add(fName)
        End While

    Catch ex As Exception
        BulletedList1.Items.Add("No Workcenters Found")
    Finally
        oreader.Close()
        oconn.Close()
    End Try
End If
Me.insertItemForm.PagerSettings.PageButtonCount = myCount 'sets the page count to number of items in gridview or formview etc.
0 голосов
/ 13 ноября 2008

Используйте элемент управления ObjectDataSource, привяжите его к своему GridView и настройте обработчик для свойства SelectCoutnMethod. Возможно, вам придется написать небольшой объект-оболочку для вашего класса, который извлекает данные, которые взаимодействуют с элементом управления ObjectDataSource.

Некоторые ссылки, которые могут вам помочь:

Обзор элемента управления веб-сервера ObjectDataSource
Класс ObjectDataSource

0 голосов
/ 13 ноября 2008

Вы можете создать свой собственный класс, который расширяет GridView и переопределить метод получения PageCount, чтобы возвращать значение из вашего класса PagedResult.

...