RE:botones primero, ant, sgte, ultimo
Revisa este código:
Private Sub cmdPrimero_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdPrimero.Click
'PRIMER REGISTRO DE LA TABLA
Me.iPosicion = 0
CargarDatos()
End Sub
Private Sub cmdUltimo_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdUltimo.Click
'ULTIMO REGISTRO DE LA TABLA
Me.iPosicion = Me.dsCatCod.Tables("CategoriasCod").Rows.Count - 1
CargarDatos()
End Sub
Private Sub cmdAnterior_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdAnterior.Click
'REGISTRO ANTERIOR
If Me.iPosicion = 0 Then
MessageBox.Show("Primer registro...", "Atención")
Else
Me.iPosicion -= 1
CargarDatos()
End If
End Sub
Private Sub cmdSiguiente_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdSiguiente.Click
'SIGUIENTE REGISTRO
If Me.iPosicion = Me.dsCatCod.Tables("CategoriasCod").Rows.Count - 1 Then
MessageBox.Show("Último registro...", "Atención")
Else
Me.iPosicion += 1
CargarDatos()
End If
End Sub
EL PROCEDIMIENTO DE CARGAR DATOS ES:
Private Sub CargarDatos()
'DEFINIR UN DATAROW
Dim drFila As DataRow
'ASIGNAR LOS DATOS DEL PRIMER REGISTRO AL DATAROW
drFila = dsCatCod.Tables("CategoriasCod").Rows(Me.iPosicion)
'LLENAR LAS CAJAS DE TEXTO CON LOS DATOS DEL DATAROW
Me.txtIdCat.Text = drFila("CategoryID")
Me.txtNombreCat.Text = drFila("CategoryName")
Me.txtDescCat.Text = drFila("Description")
'ACTUALIZAR LA ETIQUETA "Registro..... de ......"
Me.lblPosicion.Text = "Registro " & CType(Me.iPosicion + 1, String) & _
" de " & Me.dsCatCod.Tables("categoriasCod").Rows.Count
End Sub
Suerte, y saludos desde Trujillo - Perú