Принудительное отображение ASP.NET На пейджере GridView
-
21-08-2019 - |
Вопрос
есть ли какой-нибудь способ заставить пейджер gridview отображаться, даже если на экране есть только одна страница данных?
Я создаю элемент управления на основе gridview с пользовательским пейджером (с выпадающим списком для pagesize), и все работает нормально, за исключением случаев, когда пользователь выбирает pagesize, который больше текущего количества строк в сетке.В этот момент пейджер исчезает.Я погуглил это и думаю, что мне следует что-то сделать в переопределении OnRowCreated ...
Пользовательский пейджер добавляется путем переопределения InitializePager.Я буду рад предоставить дополнительную информацию, если потребуется!
приветствует, Дж.Арола
Решение
Ладно, это было не слишком сложно :-)
Основываясь на моем первоначальном тестировании, следующее сделало свое дело:
GridViewRow pagerRow = (GridViewRow) this.BottomPagerRow;
if(pagerRow != null && pagerRow.Visible == false)
pagerRow.Visible = true;
Я только что добавил это к переопределенному OnPreRender, и вот, пейджер виден, даже если отображается только одна страница с данными.Однако мне нужно провести несколько дополнительных тестов, прежде чем я смогу быть уверен.Мне кажется, все очень просто.
Другие советы
Вышеупомянутое сработает Но это также может быть полезно
GridView.BottomPagerRow.Visible=true
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;
}
GridView.BottomPagerRow.Visible=true работает как шарм