Hola jhonalone.
Cita:
desde el Form2 pretendo recuperar los valores del DBGrid que pertenece al Form1. No tengo definido otro DBGrid en el Form2. Los presento (algunos valores, no todos) en un TListBox de la forma que tú me enseñaste. Uno de ellos es el campo calculado.
Como te dije toma valor, si antes he entrado en el Form1, si entro directamente en el Form2 toman valor todos los campos excepto el campo calculado.
|
Disculpame, recién ahora que me refrescas la memoria busqué (y encontré) el post anterior.
Me parece que este caso podrías prescindir del DBGrid y trabajar directamente sobre el DataSet:
Código Delphi
[-]
procedure TForm2.Button1Click(Sender: TObject);
var
BM: TBookMarkStr;
i: Integer;
s: string;
begin
ListBox1.Clear;
with Form1 do begin
DataSet.Open; BM:= DataSet.Bookmark;
DataSet.DisableControls;
DataSet.First;
while not DataSet.Eof do
begin
s:= '';
for i:= 0 to DataSet.FieldCount - 1 do
begin
s:= s + DataSet.Fields[i].AsString;
if i < DataSet.FieldCount - 1 then
s:= s + ' - ';
end;
ListBox1.Items.Add(s);
DataSet.Next;
end;
DataSet.Bookmark:= BM;
DataSet.EnableControls;
DataSet.Close; end;
end;
Por que en realidad, el campo calculado está definido en el
TDataSet no en el
TDBGrid.
Un saludo.