Как спрятать контрол DataPager когда есть только одна страница данных

icon-item-level-pagination

Когда вы разбиваете данные на страницы в контроле ListView используя DataPager, по умолчанию DataPager будет показан даже если есть только одна страница данных. Например, если вы используете NumericPagerField, то в итоге на вашей странице получите текст показывающий 1. В таких случаях лучше спрятать контрол DataPager.

Одним из способов сделать это является изменение видимости контрола в событии DataBound контрола ListView. Вот пример:

protected void ListView1_DataBound(object sender, EventArgs e)
{
  DataPager1.Visible = (DataPager1.PageSize < DataPager1.TotalRowCount);
}

В примере выше, DataPager не находится внутри контрола ListView. Если разместить DataPager внутрь LayoutTemplate, то придется чуток переделать код, чтобы находить контрол внутри ListView. К примеру:

protected void ListView1_DataBound(object sender, EventArgs e)
{
  DataPager pager = (DataPager) ListView1.FindControl("DataPager1");
  pager.Visible = (pager.PageSize < pager.TotalRowCount);
}

Таким образом можно контролировать хотите вы показывать DataPager или нет.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>