Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   como hacceder a un dbGrid como si fuese una matriz[i,j] (https://www.clubdelphi.com/foros/showthread.php?t=844)

orfeo 27-05-2003 04:52:48

como hacceder a un dbGrid como si fuese una matriz[i,j]
 
Hola, nesecito recorrer una dbGrid como una matriz[i,j].
Similar a un Tstringgrid.cells[i,j], he logrado acceder a las columnas con tdbgrid.columns[i], pero luego no logro accder por fila.
La verdad es que he mirrado metodo por metodo, y no he logrado encontar un acceso por fila.

Lo que nesecito es leerla, por lo tanto si conocen alguna manera de pasar los datos de un dbgrid a un TSstringGrid, ami me alcanza.

marcoszorrilla 27-05-2003 08:10:15

Récupérer la valeur d'une Dbgrid

Le plus simple serait biensur d'attaquer le champ de al table ou la Query rattaché a cette DBgrid.
Mais voici une autre solution :

Il faut tout d'abord rendre publique une méthode du TDBGrid qui est privée à l'origine.
Pour ce faire, tu crées un nouveau type

Type TDBGridPlus = Class(TDBGrid)
Public
function GetEditText(ACol, ARow: Longint): string; override;
End;

Function TDBGridPlus.GetEditText(ACol, ARow: Longint): string;
Begin
Result := InHerited GetEditText(ACol,ARow);
End;



Un Saludo

roman 27-05-2003 16:55:13

¿Estamos cambiando el idioma del foro?

No entendí nada :(

marcoszorrilla 27-05-2003 17:15:28

Hola Roman:

Ha sido un evento consuetudinario, que acontece por mor de hallarme laborando por lo que utilicé el método copiar y pegar, al carecer de tiempo para proceder a la oportuna traducción, entendiendo que el código hablaba por si mismo y más valía código en mano que nada.

Como quiera que el ejemplo fue obtenido en tiempo y forma de un sitio francés, de ahí el vocabulario latino, pero no ibérico.

Antes de dirigirme al tálamo si tengo tiempo prometo pasarlo a la lengua de Cervantes, Sábato, Borges, Vargas LLosa y otros.

Un genuflexo saludo desde España.

roman 27-05-2003 17:22:54

Realmente creo que te hace falta un poco de descanso :p

Anda a la meme que estas algodón azotado :D

// Saludos

pd: Sinceramente aplaudo tu originalidad!

__cadetill 27-05-2003 17:36:33

Pos na, vamos a ahorrarle trabajo a Marcos y aqui teneis la traduccion :)

Cita:

Lo mas sencillo seria atacar al campo de la tabla o de la query ligada al DbGrid.
Pero aqui tienen otra solucion

Hace falta hacer publico un metodo del TDbGrid que en el origen es privado.
Para hacerlo, hay que crear un nuevo type

Type TDBGridPlus = Class(TDBGrid)
Public
function GetEditText(ACol, ARow: Longint): string; override;
End;

Function TDBGridPlus.GetEditText(ACol, ARow: Longint): string;
Begin
Result := InHerited GetEditText(ACol,ARow);
End;
Pues nada, espero que la traduccion sirva

marcoszorrilla 27-05-2003 19:54:53

Bueno pues aquí estoy apunto de comenzar el tramo final de la jornada, y me encuentro con que el amigo Cadetill ha tenido a bien conducir las palabras galas al lado de acá del Pirineo.

La traducción es "impecable", por lo que por mi parte doy el tema por terminado.

Así podré ir a la cama sin hacer escala en el ordenador.

Je suis Hypercontent.

Perdón quiero decir que estoy muy contento.

Un Saludo.

orfeo 28-05-2003 03:53:43

Bueno, al prencipio (3 lines ) no sabia si Marcos, me estaba gastando (acostumbo a escrivir, y comerme letras), me hizo dudar por 1/2 segundo....

Aunque codigo se auto explica, solo hasta me di cuenta que convierte un metodo pribado en publico :), me falta mucho de POO en delphi.

Lo voy a probar, y les cuento


La franja horaria es GMT +2. Ahora son las 13:21:14.

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