SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: junahu en Martes 26 de Junio de 2007, 00:42
-
Hola amigos/as:
¿Cómo puedo saber la posición que ocupa un registro dentro de un datatable, suponiendo que conozco el dato que busco, es decir que conozco el campo nombre por ejemplo?
De momento lo he buscado listando todo el datatable y obteniendo el número, pero cuando hay una serie elevada de registros, me parece que no es esta la forma.
No utilizo la posición del bindingnavigator, porque tengo filtrado los registros y no me los da todos, por lo tanto no me dice el valor real del registro en el datatable.
Por favor si me podéis ayudar os lo agradezco.
Saludos.
-
Vos haces una busqueda y queres ver la posicion que ocupa ese registro dentro de la tabla ?
:ph34r:
-
Creo que os he liado. Solo quiero saber la posición que ocupa un registro dentro de un datatable.
Por ejemplo, si mi datatable tiene 100 registros (los mismos que una tabla de la base de datos), quisiera saber la posición del registro cuya columna nombre (nombre suponemos que es identidad y no permite duplicados) tiene el valor "PEPE". Si se encuentra en la posición 25 por ejemplo, como puedo saber este valor de posición.
Gracias por todo.
-
Ya he conseguido encontrar la solución. Os mando el código que he hecho para mi ejemplo (utilizo VB.Net 2005 y Sql Server 2005).
Dim LaPosicion As Integer = String.Empty
Dim dr As DataRow = MiDataset.Tables("LaTabla1").Select("columna2='" &
Me.TextBox2.Text & "' and columna4='" & Me.TextBox4.Text & "'")(0)
LaPosicion = MiDataset.Tables("LaTabla1").Rows.IndexOf(dr)
A mi me soluciona el problema y creo que es bastante sencillo.
Saludos.