Принудительное отображение пейджера ASP.NET GridView - PullRequest
13 голосов
/ 29 июня 2009

есть ли способ заставить пейджер gridview отображаться, даже если на экране только одна страница данных?

Я создаю элемент управления на основе сетки с пользовательским пейджером (с выпадающим списком для размера страницы), и все работает нормально, кроме случаев, когда пользователь выбирает размер страницы, который больше текущего числа строк сетки. В этот момент пейджер исчезает. Я гуглил это и думаю, что должен что-то делать в переопределении OnRowCreated ...

Пользовательский пейджер добавляется путем переопределения InitializePager. Я буду рад предоставить больше информации, если потребуется!

приветствует, J.Arola

Ответы [ 4 ]

22 голосов
/ 29 июня 2009

Хорошо, это было не слишком сложно: -)

Основываясь на моем первоначальном тестировании, сделали следующее:

GridViewRow pagerRow = (GridViewRow) this.BottomPagerRow;

if(pagerRow != null && pagerRow.Visible == false)
pagerRow.Visible = true;

Я только что добавил это, чтобы переопределить OnPreRender, и вот, пейджер виден, даже когда отображается только одна страница данных. Должен сделать дополнительное тестирование, прежде чем я смогу быть уверенным. Мне кажется простым.

9 голосов
/ 08 апреля 2011

выше будет работать Но это может быть полезно также

GridView.BottomPagerRow.Visible=true
4 голосов
/ 10 мая 2013
   protected void GridView_PreRender(object sender, EventArgs e)
    {
        GridView gv = (GridView)sender;
        GridViewRow pagerRow = (GridViewRow)gv.BottomPagerRow;

        if (pagerRow != null && pagerRow.Visible == false)
            pagerRow.Visible = true;
    }
2 голосов
/ 19 мая 2012

GridView.BottomPagerRow.Visible = true работает как шарм

...