Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Recorrer SMDbgrid (https://www.clubdelphi.com/foros/showthread.php?t=22516)

ingel 17-06-2005 17:19:55

Recorrer SMDbgrid
 
hola a todos ..
Estoy comenzando a usar los smcomponents , especialmente el SMDbgrid ,
y hasta ahora no logro encontrar lo que equivaldria al Stringrid.cells[x,i].
solo rescato los valores de las columnas de la FILA donde estoy posicionado..
con SMGrid.columns.items[i].field.asstring
lo que necesito es simplemente recorrer toda la grilla y tomar el valor de cada celda ...
saludos y gracias.. sigo intentando
Ingel

jachguate 17-06-2005 17:50:09

Entiendo que es un grid asociado a datos. Si es así, no hace falta usar el grid en absoluto, pues este es solo una representación visual de los datos contenidos en un Dataset, al que podes referirte libremente:

Código Delphi [-]
  a := MiTabla.FieldByName('Campo').AsString
  a := MiTablaCampo.AsString;
  a := SMGrid.DataSource.DataSet.FieldByName('Campo').AsString;
  //y una larga lista de etceteras...

Hasta luego.

;)

ingel 17-06-2005 18:01:14

es algo que tiene que tener
 
Entiendo lo que me decis ...
pero puede haber casos en que los datos del SMgrid no hagan referencia a una tabla como por ejemplo para saber si la fila esta checkeada o no..que es una propiedad del smdbgrid .. para lo cual necesito recorrer la las filas ... y es justo lo que no encuentro....
La equivalencia con el cells[col,fila] la tiene que tener ...
GRACIAS..Saludos

jachguate 17-06-2005 18:15:13

Cita:

Empezado por ingel
pero puede haber casos en que los datos del SMgrid no hagan referencia a una tabla como por ejemplo para saber si la fila esta checkeada o no..

Solo podrá estar chequeada una fila que pertenezca a la tabla, ¿no es cierto?

No conozco el componente en cuestión, pero suponiendo que está programado de manera similar a lo existente en la VCL, probablemente publique una lista de bookmarks a las filas del dataset que estén seleccionadas por el usuario, de manera similar a lo que hace el TDBGrid en su propiedad SelectedRows. Si no es así, te recomiendo revisar la documentación oficial del componente o consultarle al fabricante.

Cita:

Empezado por ingel
La equivalencia con el cells[col,fila] la tiene que tener ...

Insisto en que tal equivalencia no existe. Supongamos que un DataSet tiene 1,000,000 de registros... el grid no creará un millón de filas con los datos (duplicados) del dataset. Si 10 filas están visibles, seguramente solo cree 10 filas en memoria con una referencia a cada registro del dataset y consulte directamente a este cuando tenga que repintarse. Probablemente no cree ninguna fila y se valga enteramente del dataset.

Hasta luego.

;)

chachomon 06-07-2007 00:41:27

SMDBGrid
 
hola. mas o menos me encuentro en una situacion similar, y quiero saber si alguen me puede ayudar. lo que quiero hacer es un boton el cual al darle clic cambie los cambios realizados que seria lo mismo que dar clic derecho en el grid y elegir save changes y tambien con la opcion de Discard changes. pero no se que eventos, procedimiento es.

espero me puedan ayudar

Saludos


La franja horaria es GMT +2. Ahora son las 13:02:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi