Posición en DataGrid y en DataSet

17/03/2005 - 19:47 por Carlos Vigliola \(ADINET\) | Informe spam
Estimados:

dada una datagrid con datos cargados desde un dataset desearía poder saber
en qué elemento del dataset se encuentra la datagrid al navegar por la
datagrid.
Esto es porque si en una grilla se dan altas de registros en un formulario
aparte, quisiera que el usuario después de dar el alta viera la grilla
posicionada en el registro que acaba de dar de alta.
He probado agregar índices a la grilla y usar el FIND pero me devuelve la
fila de la grilla y el dataset no cambia de registro.

Desde ya, muchas gracias.
 

Leer las respuestas

#1 Carlos Durán Urenda
18/03/2005 - 15:24 | Informe spam
mmmm.

primero que nada, el dataset no tiene posicion, ya que no alberga registros,
el dataset te almacena tablas, relaciones, etc.. en realidad es como una
pequeña base de datos en memoria
quien alberga los registros es el datatable, y aun asi, en .Net no se maneja
el concepto de registro actual.

por otra parte es posible que los registros del grid no coincidan con los
del datatable, debido a que el grid puede ordenarse y el datatable no. en
realidad el datagrid te mostrará la informacion a partir del defaultview del
datatable, el defaultview puede filtrarse y ordenarse, de forma que por
ejemplo el elemento 5 del defaultview (el cual ves en el datagrid)
corresponda con el elemento 20 del datatable.

en resumidas cuentas deberias hacer es... utilizar un Dataview que apunte al
DefaultView de tu DataTable (contenida en tu Dataset)

algo mas o menos asi...

Dim DV as Dataview
Dim DRV as DataRowView
DV=TuDataset.Tables("TuTabla").DefaultView

TuDatagrid.DataSource=DV

al trabajar con el datagrid, puedes ordenar y filtrar la tabla, debido a que
el DV apunta al DefaultView de tu tabla, este reflejará todos los cambios
hechos en el orden y filtrado.


puedes obtener el renglon exacto utilizando

DRV=DV(TuDatagrid.CurrentRowIndex)

Saludos
Carlos Durán

"Carlos Vigliola (ADINET)" escribió en el mensaje
news:
Estimados:

dada una datagrid con datos cargados desde un dataset desearía poder saber
en qué elemento del dataset se encuentra la datagrid al navegar por la
datagrid.
Esto es porque si en una grilla se dan altas de registros en un formulario
aparte, quisiera que el usuario después de dar el alta viera la grilla
posicionada en el registro que acaba de dar de alta.
He probado agregar índices a la grilla y usar el FIND pero me devuelve la
fila de la grilla y el dataset no cambia de registro.

Desde ya, muchas gracias.


Preguntas similares