La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/ASP.NET/1275794-Paginar-conData-Pager.html

Paginar conData Pager

Paginar conData Pager

Publicado por Juan Carlos (42 intervenciones) el 08/07/2011 17:09:55
Hola que tal,
Tengo una listview que pagino con el control datapager, en el evento OnPagerCommand tengo algo asi:


switch (e.CommandName)
{
case "Next":
if (ListView1.EditItem == null && ListView1.InsertItem == null)
{
if ((e.Item.Pager.StartRowIndex + e.Item.Pager.MaximumRows) < e.Item.Pager.TotalRowCount)
{
e.NewStartRowIndex = e.Item.Pager.StartRowIndex + e.Item.Pager.MaximumRows;
e.NewMaximumRows = e.Item.Pager.MaximumRows;
}
}
break;
case "Previous":
if (ListView1.EditItem == null && ListView1.InsertItem == null)
{
if (e.Item.Pager.StartRowIndex > 0)
{
e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.MaximumRows;
e.NewMaximumRows = e.Item.Pager.MaximumRows;
}
}
break;
case "Last":
if (ListView1.EditItem == null && ListView1.InsertItem == null)
{
if ((e.Item.Pager.StartRowIndex + e.Item.Pager.MaximumRows) < e.Item.Pager.TotalRowCount)
{
e.NewStartRowIndex = e.Item.Pager.MaximumRows * (int)(e.Item.Pager.TotalRowCount / e.Item.Pager.MaximumRows);
e.NewMaximumRows = e.Item.Pager.MaximumRows;
}
}
break;
case "First":
if (ListView1.EditItem == null && ListView1.InsertItem == null)
{
if (e.Item.Pager.StartRowIndex > 0)
{
e.NewStartRowIndex = 0;
e.NewMaximumRows = e.Item.Pager.MaximumRows;
}
}
break;

Funciona bien, pero si porejemplo el ListView Tiene 13 registros y en la propiedad Pager Size teng = 10, la primera página me muestra 10 registros y en la segunda 3.

Cómo puedo hacerle para que Siempre todas las paginas (en este caso dos paginas) muestren 10 registros??? Obviamente en la segunada pagina habría registros repetidos (Los ultimos 7 registros de la pagina 1, seran también los primeros 7 de la segunda pagina) , esto lo queiro hacer para que el listview no se vea que va cambiando de tamaño verticalmente cuando no se completan 10 registros en la pagina.
Gracias