Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Index en dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=24641)

papulo 29-08-2005 16:51:51

Index en dbgrid
 
Estoy peleandome con un DBGrid y algo que seguramente sea una soberana chorrada. Intento capturar el indice de la Row seleccionada y quiero pasarle ese valor a un ComboBox que tiene la misma informacion. El caso es que no tengo mucha idea de DELPHI (es el primer lenguaje con el que me pongo a programar, asi que lo de DELPHI es meramente anecdotico, soy novato en la programacion en general), y seguramente sea sencillo el proceso, pero por mas que me leo la ayuda de DBGRID, Items o Columns, no soy capaz de ver la solucion.

Gracias por leerlo y saludos a todos los del foro, es mi primer POST.:)

roman 29-08-2005 17:22:04

El índice de la fila seleccionada de un DBGrid (propiedad Row) es un propiedad protegida (sólo accesible por clases descendientes) y lo es por una buena razón: un DBGrid, al igual que cualquier otro componente enlazado a datos, simplemente refleja el contenido del dataset (Table, Query, etc.) al que está conectado. Conforme te mueves por el grid el registro activo en el dataset cambia y es a éste al que debes pedir información mediante los métodos FieldByName o similares. Por ejemplo, para obtener la información del campo 'producto' del registro actual, harías algo como:

Código Delphi [-]
Producto := Table1.FieldByName('producto').AsString;

y usas el valor de Producto para pasárselo al ComboBox o a cualquier control quieras.

// Saludos

papulo 29-08-2005 17:26:07

Mientras esperaba la respuesta, algo he leido por ahi.

Me pongo manos a la obra ya mismo.

papulo 29-08-2005 17:43:58

Hecho.

Las dos cosas que queria hacer eran:

Código Delphi [-]
  DataModule2.IBDataSet1.RecNo:=0;
  
  cSupplierName.Items.Add(DataModule2.IBDataSet1.FieldByName('id_sup').AsString );
Gracias mil, y prepararos, que cuando tenga internet en casa, posteare a destajo.


La franja horaria es GMT +2. Ahora son las 12:00:41.

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