Foros del Web » Programación para mayores de 30 ;) » .NET »

Como utilizar Move First, Next, etc

Estas en el tema de Como utilizar Move First, Next, etc en el foro de .NET en Foros del Web. Hola, tal vez algunos estén acostumbrados a trabar con la version de ASP o VB 6.0 para moverse por los registros de la siguiente manera ...
  #1 (permalink)  
Antiguo 03/10/2003, 09:33
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Como utilizar Move First, Next, etc

Hola, tal vez algunos estén acostumbrados a trabar con la version de ASP o VB 6.0 para moverse por los registros de la siguiente manera con la version de ADO anterior.

rs.MoveFirst
rs.MoveNext.
... etc.


Ahora las maneras para navegar por los registros son de dos maneras:

DataReader (Foward only, es decir el cursor va hacia adelante ideal para llenar DropDownList, ComboBox, arrays, etc.)

y el
DataAdapter (Cursor dinámico, se mueve en cualquier sentido,)

Ahora.. retomando la pregunta de como desplazarse lo pueden hacer mediante un objeto llamado CurrencyManager el cual se asocia con un datatable o un DataView de un Dataset el cual inlcuye la propiedad de Position que puede ser usada para navegar a través de los registros.

Les mando un ejemplo que hice utilizando un cuadro de texto, y boton llamado btnMoveNext, otro llamado btnMoveFirst, btnMovePrevious y btnMoveLast, el cual tambien utilicé la BD Nothwind de SQl Server, y lo que se muestra es en el cuadro de texto el campo CompanyName de la tabla Customers , y mediante los botones estar navegando.

El código sería algo como esto:

Declaran de manera global (mismo form) lo siguiente:

Cita:
Dim oConn As New SqlClient.SqlConnection("ponga su cadena de conexion para la base de datos Northwind" )
Dim dAdap As New SqlClient.SqlDataAdapter("select * from customers", oConn)
Private cmCustomers As CurrencyManager
y posteriormente:

Cita:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet
dAdap.Fill(ds) 'Lleno mi dataset

Dim dtCUstomers As New DataTable
dtCUstomers = ds.Tables(0) 'le asigno el Dataset a un datatable

txtCompanyName.DataBindings.Add( _
"Text", dtCUstomers , "CompanyName")

cmCustomers = CType(Me.BindingContext( _
dtCUstomers), CurrencyManager )

cmCustomers.Position = 0
End Sub

Private Sub btnMoveLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMoveLast.Click
cmCustomers.Position = cmCustomers.Count - 1
End Sub

Private Sub btnMoveNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMoveNext .Click
If cmCustomers.Position <> cmCustomers.Count - 1 Then
cmCustomers.Position += 1
End If
End Sub

Private Sub btnMoveFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMoveFirst .Click
cmCustomers.Position = 0
End Sub

Private Sub btnMovePrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMovePrevious .Click
If cmCustomers.Position <> 0 Then
cmCustomers.Position -= 1
End If
End Sub
Ya lo demas depende de su imaginación y lo que podría hacer con ésto, solo es cosa de jugar con la propiedad position.

Espero que les sirva.. de todas formas cualquier cosa por aqui andamos.

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #2 (permalink)  
Antiguo 03/10/2003, 13:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 5
Antigüedad: 20 años, 6 meses
Puntos: 0
oye muy buen ejemplo! no conocia esto del currency manager y parece muy interesante... voy a pelearme un poco con eso a ver si consigo poder desplazarme por el datagrid con ese codigo... ya te contare

muchas gracias!
  #3 (permalink)  
Antiguo 20/04/2004, 16:45
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Creo que este post ya tenía tiempo pero quería que lo volvieran a checar por si alguien más le sirve.

Saludos
  #4 (permalink)  
Antiguo 19/07/2005, 04:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 109
Antigüedad: 20 años, 7 meses
Puntos: 0
muchas gracias, me ha sido muy util, solo una cosa, si no quiero que los edit del formulario esten enganchados a ningun componente, osea que sea yo el q les asigna un valor ¿no me queda otra que no usar el currencyManager y currarme yo a pelo un contador-posicionador verdad?
  #5 (permalink)  
Antiguo 07/08/2009, 10:43
Usuario no validado
 
Fecha de Ingreso: junio-2001
Ubicación: México
Mensajes: 431
Antigüedad: 22 años, 10 meses
Puntos: 0
Respuesta: Como utilizar Move First, Next, etc

muchas gracias, me salvaste =)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 18:49.