Fila activa en un DataTable

10/12/2004 - 16:22 por Bruno Reato | Informe spam
Hola a todos:
Mi pregunta seguramente será un poco tonta para aquellos que conocen .net,
pero soy nuevo en la programación .net y viejo programador de delphi, en
conjunción, se me complica bastante para programar en .net porque arrastro
varios vicios de delphi.
Bueno, vamos a la pregunta entonces. Existe el concepto de fila activa en un
DataTable?
Ya sé que tengo que acceder a las filas mediante la propiedad Rows y
pasándole un índice. Lo que yo quiero es acceder al valor de un campo de la
fila activa en un DataGrid, seguramente me van a contestar que puedo lograr
eso a través de alguna propiedad del DataGrid, yo solo quería saber si el
DataTable mantiene la fila activa en el DataGrid, como lo poseo en delphi.

Bruno.

Preguntas similare

Leer las respuestas

#1 WillyXoft
10/12/2004 - 18:41 | Informe spam
No exsiste el concepto de fila activa, porque de hecho tampoco existen
los cursores (algo que tambien extraña cualquier programador
acostumbrado a los mismos), al menos no en los DataTables de ADO.NET.
Los DataTables no son un conjunto de registros sino son colecciones de
filas y columnas como bien sabes, asi que tienes que tratarlos como eso.

Ahora bien, que es lo que quieres hacer? o mejor dicho para que?
seguramente se pueda solucionar de otra manera...

Saludos,
Willy Mejía
www.VBpuntoNET.tk


"Culto es aquel que sabe dónde encontrar lo que no sabe."
- Georg Georg Simmel (1858-1918); sociólogo y filósofo alemán.


Bruno Reato wrote:
Hola a todos:
Mi pregunta seguramente será un poco tonta para aquellos que conocen
.net, pero soy nuevo en la programación .net y viejo programador de
delphi, en conjunción, se me complica bastante para programar en .net
porque arrastro varios vicios de delphi.
Bueno, vamos a la pregunta entonces. Existe el concepto de fila
activa en un DataTable?
Ya sé que tengo que acceder a las filas mediante la propiedad Rows y
pasándole un índice. Lo que yo quiero es acceder al valor de un
campo de la fila activa en un DataGrid, seguramente me van a
contestar que puedo lograr eso a través de alguna propiedad del
DataGrid, yo solo quería saber si el DataTable mantiene la fila
activa en el DataGrid, como lo poseo en delphi.

Bruno.
Respuesta Responder a este mensaje
#2 Bruno Reato
10/12/2004 - 21:59 | Informe spam
Antes que nada, gracias Willy por la respuesta.

Los DataTables no son un conjunto de registros sino son colecciones de
filas y columnas como bien sabes, asi que tienes que tratarlos como eso.



Me imaginaba, solo que quería que alguien que conociera un poco más estas
clases me lo confirmara

Ahora bien, que es lo que quieres hacer? o mejor dicho para que?
seguramente se pueda solucionar de otra manera...



Lo que yo hacía a menudo con delphi era, mostrar en una grilla, por ejemplo,
todos los clientes (solo los datos más importantes) y cuando quería editar
uno, seleccionaba en la grilla el cliente a editar, y obtenía el ID de
cliente desde la tabla vinculada a la grilla, por ej:

tbClientes.FieldByName('ID_CLIENTE').Value

Con eso obtenía el id del cliente al que apuntaba la grilla y utilizaba otro
DataSet para actualizar, uno que recuperaba los datos de un cliente buscando
por ID, lo que pasa es que como me dijiste, .net no tiene el concepto de
fila activa. Así que me imagino que voy a tener que obtener la fila a la que
apunta desde el datagrid, o algo así, no?

Gracias.
Bruno.
Respuesta Responder a este mensaje
#3 WillyXoft
11/12/2004 - 11:58 | Informe spam
Asi es, y pues basicamente puedes hacerlo de esta manera:

idCliente=DataGrid1.Item(DataGrid1.CurrentRowIndex, y)

Donde y es un entero correspondiente al indice de la columna que aloja
el valor que deseas recuperar ('ID_CLIENTE')


Saludos,
Willy Mejía
www.vbpuntonet.tk


"Cuando era más joven podía recordar todo, hubiera sucedido o no."
- Mark Twain (1835-1910); escritor y periodista estadounidense.


Bruno Reato wrote:
Antes que nada, gracias Willy por la respuesta.

Los DataTables no son un conjunto de registros sino son colecciones
de filas y columnas como bien sabes, asi que tienes que tratarlos
como eso.



Me imaginaba, solo que quería que alguien que conociera un poco más
estas clases me lo confirmara

Ahora bien, que es lo que quieres hacer? o mejor dicho para que?
seguramente se pueda solucionar de otra manera...



Lo que yo hacía a menudo con delphi era, mostrar en una grilla, por
ejemplo, todos los clientes (solo los datos más importantes) y cuando
quería editar uno, seleccionaba en la grilla el cliente a editar, y
obtenía el ID de cliente desde la tabla vinculada a la grilla, por ej:

tbClientes.FieldByName('ID_CLIENTE').Value

Con eso obtenía el id del cliente al que apuntaba la grilla y
utilizaba otro DataSet para actualizar, uno que recuperaba los datos
de un cliente buscando por ID, lo que pasa es que como me dijiste,
.net no tiene el concepto de fila activa. Así que me imagino que voy
a tener que obtener la fila a la que apunta desde el datagrid, o algo
así, no?

Gracias.
Bruno.
Respuesta Responder a este mensaje
#4 Bruno Reato
11/12/2004 - 13:32 | Informe spam
idCliente=DataGrid1.Item(DataGrid1.CurrentRowIndex, y)

Donde y es un entero correspondiente al indice de la columna que aloja
el valor que deseas recuperar ('ID_CLIENTE')



Gracias Willy por tu ayuda.

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