Este es un método sencillo, para realizar la paginación de un elemento repeater en .net
Función en javascript. Esto va en el segmento head de la página
<script language="javascript" >
function MuevePagina(NumPaginaSeleccionada)
{
Form1.txtPaginaSiguente.value = NumPaginaSeleccionada;
Form1.submit();
}
</script>
Este será el componente .net, de tipo label que presentará todas los números de página.
<asp:Label id="lblPaginaActual" runat="server" ></asp:Label>
Este es un componente .net, de tipo label oculto con el que se realiza el manejo de la selección (junto con la función js)
<asp:TextBox id="txtPaginaSiguente" style = "visibility: hidden;" runat="server"></asp:TextBox>
Esta parte debe estár dentro del código a ejecutarse en el server (code behind, apsx.vb)
Aquí es donde se realiza la carga de los elementosen el objeto PagedDataSource y se configura para su presentación.
Dim _dt As PagedDataSource
_dt = New PagedDataSource
' RFC.Pagare es un objeto de tipo DataTable, que ya contiene los elementos a presentar
_dt.DataSource = RFC.Pagare.DefaultView
_dt.AllowPaging = True
_dt.PageSize = 15 'Número de elementos por página
_dt.CurrentPageIndex = _intPaginaActual
' rptPrincipal es un componente .net del tipo repeater.
rptPrincipal.DataSource = _dt
rptPrincipal.DataBind()
Este segmento de código permite armar el texto a presentar con el que el usuario podrá seleccionar las diferentes páginas
Dim i As Integer
lblPaginaActual.Text = "Paginas: "
Dim _strLink As String
Dim _strLinkCierre, _strComa As String
_strComa = ""
For i = 0 To _dt.PageCount - 1
If i <> _intPaginaActual Then
_strLink = "<a onclick = ""MuevePagina(" & (i) & ")"" style=""CURSOR: hand; TEXT-DECORATION: underline"">"
_strLinkCierre = "</a>"
Else
_strLink = ""
_strLinkCierre = ""
End If
lblPaginaActual.Text = lblPaginaActual.Text & _strComa & _strLink & (i + 1) & _strLinkCierre
_strComa = ", "
Next
jueves 24 de julio de 2008
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario en la entrada