Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: DBGrid- und TLabel-Anzeige nicht identisch

  Alt 30. Mär 2006, 18:34
Zitat von LOMBI:
mit folgendem Code möchte ich die gespeicherten Daten in TLabels anzeigen:
Delphi-Quellcode:
procedure TDemoForm.DBGridDemoDrawColumnCell (Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState;)
begin
  LabelTel.Caption := FAdr.EditTel.Text;
  LabelFax.Caption := FAdr.EditFax.Text;
  LabelMob.Caption := FAdr.EditMob.Text;
  ...
end;
Das ist GANZ falsch! OnDrawColumnCell wird 1. extrem oft aufgerufen und 2. für alle
im DBGrid sichtbaren Datensätze aufgerufen.
Richtig:
Das Event [TTable].AfterScroll benützen:
Delphi-Quellcode:
procedure TForm1.Table1AfterScroll(Dataset:TDataset);
begin
   LabelTel.Caption := Dataset.FieldByName('Tel').AsString;
   ...
end;
Andreas
  Mit Zitat antworten Zitat