DataRow

09/08/2004 - 21:54 por Eyder | Informe spam
Hola Grupo..

Me gustaria saber como puudo obtener el indice de un DataRow que pertenece a
un DataTable.

Gracias..

Preguntas similare

Leer las respuestas

#1 Tristan
09/08/2004 - 22:10 | Informe spam
No puedes. ¿Para que lo necesitas?.

Debes recorrer el DataTable.

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#2 Eduardo A. Morcillo [MS MVP VB]
10/08/2004 - 05:28 | Informe spam
Tristan wrote:
No puedes. ¿Para que lo necesitas?.



No he probado pero supongo que hacer un Find de una vista (sin orden y sin
filtros) funcionaria (aunque habria que buscar por llave primaria).

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#3 Tristan
10/08/2004 - 08:41 | Informe spam
¿Umm, el de una vista?. Lo malo es que creo que el índice que devuelve es el
de la vista y no el de la tabla, pero es posible que algo se pueda sacar de
ahí.

Pero no tengo claro para que puede servir el índice, puesto que sobre el
DataRow se pueden hacer directamente las operaciones.

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#4 Jose Carlos
10/08/2004 - 10:21 | Informe spam
Para hacer Find en un dataview necesitas ordenar el dataview por la columna
en la que vas a buscar, pero si tienes un indice, puedes volver a buscar en
el orden establecido de la tabla, es decir seria hacer dos find diferentes
en el mismo dataview.
Primero buscas lo que quieres ordenando el dataview por la columna que te
interesa y luego buscas el numero Id en la columna clave

Public Overloads Function BuscaFila(ByVal CampoBusqueda As String, ByVal
Busca As Integer) As DataRow

Dim dw As DataView
dw = New DataView(dt) 'dt seria tu tabla
Dim nombreClave As String = dt.PrimaryKey(0).ColumnName 'Necesitas una
columna clave en tu datatable
dw.Sort = CampoBusqueda 'Ordenas según la columna a buscar
Dim numero As Integer = dw.Find(Busca) 'Buscas y localizas el datarow, si no
lo encuentras retorna nothing
Dim numeroid As Integer
If numero < 0 Then
Return Nothing
End If
numeroid = CType(dw(numero)(nombreClave), Integer) 'Pero si lo has
encontrado te devuelve el numero Id
dw.Sort = nombreClave 'Ordenas según la columna Clave
numero = dw.Find(numeroid) 'Buscas el numero Id que es único y ese es el
numero de la fila del datarow y del datatable
Return dt.Rows(numero)
End Function

Espero que te sirva. Un saludo a todos

"Tristan" escribió en el mensaje
news:
No puedes. ¿Para que lo necesitas?.

Debes recorrer el DataTable.

Juan Carlos Badiola
MVP - C#


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida