Hola Dexter182
Cita:
Empezado por Dexter182
...
¿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, dts.FieldByName('Precio').AsString, #10, fld.AsString]);
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