datagrid
Estoy trabajando con Visual Basuc .NET, ASP .NET, y en un web form estoy colocando un DataGrid, pero es mucha información la que tengo que mostrar, por lo que quiero usar la paginación. En las propiedades del DataGrid está la paginación, la marco, le indico como la quiero, pero cuando ejecuto en web form sólo muestra los primeros datos......
Espero que alguien me haya entendido y me pueda ayudar.
GRACIAS
Espero que alguien me haya entendido y me pueda ayudar.
GRACIAS
Hace tiempo yo tuve la misma pelea, pero haciendo lo que teoricamente hay que hacer tampoco conseguí que me funcionara. Posteriormente me pasaron codigo para un control personalizado de la paginacion.
Para ello debes de tener en el datagrid las siguientes las propiedades:
AllowCustomPaging = False
AllowPaging = True
PageSize = n (número de filas que deseas por pagina)
El codigo necesario es el siguiente:
Private sub CargarDataGrid()
...
instrucciones para el llenado del data grid
...
ComprobarBotones()
End sub
Private Sub DataGrid_PageIndexChanged()
dtgPartesTrabajo.CurrentPageIndex = e.NewPageIndex
CargarPartesTrabajo()
End Sub
Para ello debes de tener en el datagrid las siguientes las propiedades:
AllowCustomPaging = False
AllowPaging = True
PageSize = n (número de filas que deseas por pagina)
El codigo necesario es el siguiente:
Private sub CargarDataGrid()
...
instrucciones para el llenado del data grid
...
ComprobarBotones()
End sub
Private Sub DataGrid_PageIndexChanged()
dtgPartesTrabajo.CurrentPageIndex = e.NewPageIndex
CargarPartesTrabajo()
End Sub
Continuo con la respuesta ... soy un zarpas y lo enviado sin querer.
Private sub DataGrid_PageIndexChanged()
DataGrid.CurrentPageIndex = e.NewPageIndex
CargarDataGrid()
End Sub
Private Sub cmdPrimero_Click()
DataGrid.CurrentPageIndex = 0
CargarDataGrid()
End Sub
Private Sub cmdAnterior_Click()
If DataGrid.CurrentPageIndex > 0 Then
DataGrid.CurrentPageIndex -= 1
CargarDataGrid()
End If
End Sub
Private Sub cmdSiguiente_Click()
If (DataGrid.CurrentPageIndex < (DataGrid.PageCount - 1)) Then
DataGrid.CurrentPageIndex += 1
CargarDataGrid()
End If
End Sub
Private Sub cmdUltimo_Click()
DataGrid.CurrentPageIndex = DataGrid.PageCount - 1
CargarDataGrid()
End Sub
Private Sub ComprobarMovimientos()
cmdPrimero.Visible = True
cmdAnterior.Visible = True
cmdSiguiente.Visible = True
cmdUltimo.Visible = True
If DataGrid.CurrentPageIndex = 0 Then
cmdPrimero.Visible = False
cmdAnterior.Visible = False
End If
If DataGrid.CurrentPageIndex = DataGrid.PageCount - 1 Then
cmdUltimo.Visible = False
cmdSiguiente.Visible = False
End If
End Sub
De esta manera controlas manualmente el movimiento entre paginas.
Se me ha olvidado indicarte que en el procedimiento CargarDataGrid debes indicarle en la propiedad DataGrid.VirtualItemCount el número de filas que contiene el DataGrid. Yo tambien suelo poner una etiqueta en la cual voy indicando en que página te encuentras (Pagina n de m). Esto lo actualizo en el procedimiento CargarDataGrid con la siguiente instruccion:
Label.Text = "Pagina " & DataGrid.CurrentPageIndex + 1 & " de " & DataGrid.PageCount
El procedimiento ComprobarMovimientos sirve para que cuando estes en la primera pagina no se vea el boton de ir a la primera o a la anterior pagina y para que cuando estes en la ultima no aparezcan los botoens para ir al útlimo o al siguiente.
Espero que te sirva mi ayuda y que hayas entendido la chapa que te he metido.
Saludos desde Donostia en Euskal-Herria.
Mikel
Private sub DataGrid_PageIndexChanged()
DataGrid.CurrentPageIndex = e.NewPageIndex
CargarDataGrid()
End Sub
Private Sub cmdPrimero_Click()
DataGrid.CurrentPageIndex = 0
CargarDataGrid()
End Sub
Private Sub cmdAnterior_Click()
If DataGrid.CurrentPageIndex > 0 Then
DataGrid.CurrentPageIndex -= 1
CargarDataGrid()
End If
End Sub
Private Sub cmdSiguiente_Click()
If (DataGrid.CurrentPageIndex < (DataGrid.PageCount - 1)) Then
DataGrid.CurrentPageIndex += 1
CargarDataGrid()
End If
End Sub
Private Sub cmdUltimo_Click()
DataGrid.CurrentPageIndex = DataGrid.PageCount - 1
CargarDataGrid()
End Sub
Private Sub ComprobarMovimientos()
cmdPrimero.Visible = True
cmdAnterior.Visible = True
cmdSiguiente.Visible = True
cmdUltimo.Visible = True
If DataGrid.CurrentPageIndex = 0 Then
cmdPrimero.Visible = False
cmdAnterior.Visible = False
End If
If DataGrid.CurrentPageIndex = DataGrid.PageCount - 1 Then
cmdUltimo.Visible = False
cmdSiguiente.Visible = False
End If
End Sub
De esta manera controlas manualmente el movimiento entre paginas.
Se me ha olvidado indicarte que en el procedimiento CargarDataGrid debes indicarle en la propiedad DataGrid.VirtualItemCount el número de filas que contiene el DataGrid. Yo tambien suelo poner una etiqueta en la cual voy indicando en que página te encuentras (Pagina n de m). Esto lo actualizo en el procedimiento CargarDataGrid con la siguiente instruccion:
Label.Text = "Pagina " & DataGrid.CurrentPageIndex + 1 & " de " & DataGrid.PageCount
El procedimiento ComprobarMovimientos sirve para que cuando estes en la primera pagina no se vea el boton de ir a la primera o a la anterior pagina y para que cuando estes en la ultima no aparezcan los botoens para ir al útlimo o al siguiente.
Espero que te sirva mi ayuda y que hayas entendido la chapa que te he metido.
Saludos desde Donostia en Euskal-Herria.
Mikel