Ver Mensaje Individual
  #12  
Antiguo 13-08-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Dexter182
Cita:
Empezado por Dexter182 Ver Mensaje
...
¿Puede ser que la propiedad FieldByName no esté disponible directamente desde el DBGrid?.
Puedo usarla directamente desde un ADOQuery, pero para usarla desde un DBGrid tengo que hacer algo como esto:
Código Delphi [-]
StringGrid.Cells[3, i] := DBGrid_Resultado.DataSource.DataSet.FieldbyName('Precio').AsString;
Agradezco a todos su ayuda y les pido perdón por mi ignorancia.
El método FieldByName existe en la clase TDataSet, de modo que no tendrías que tener ningún problema en invocarlo como mostras arriba.

Desde el componente DBGrid podes acceder al DataSet asociado y al campo mismo, ejemplo:
Código Delphi [-]
...
var
  dts: TDataSet;
  fld: TField;
begin
  dts := DBGrid_Resultado.DataSource.DataSet;
  fld := dts.FieldByName('Precio');
  ShowMessageFmt('%s%s%s%s%s',
    [DBGrid_Resultado.DataSource.DataSet.FieldByName('Precio').AsString, #10,  // [1]
    dts.FieldByName('Precio').AsString, #10,  // [2]
    fld.AsString]);  // [3]
Mostrará tres veces el valor correspondiente al registro actual. Es decir que [1], [2] y [3] son diferentes modos de hacer referencia al mismo registro (o valor).

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita