Thema: Delphi Stack Überlauf fehler

Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#6

AW: Stack Überlauf fehler

  Alt 2. Dez 2013, 07:22
Ah, die Buttons sind in jeder Zeile des Ersatzteil-Grids...
So kann man das auch lösen. So wie Persau das gelöst hat, ist es aber einfacher.

Also: Dein Ersatzteil-Grid und dadrunter/drüber/neben ein (1!) Button 'btBestellen'.

Im OnDataChange-Ereignis des ErsatzTeil-Datasets dann:
Delphi-Quellcode:
Procedure TMyForm.ErsartTeilSourceDataChange(Sender: TObject; Field: TField);
Begin
  if Field=nil then
    btBestellen.Enabled := Not Ersatzteil_DatasetBestellt.AsBoolean;
End;
Fertig.
Wenn Field=nil, dann wird die Zeile gewechselt. Der Button verändert seinen Status also genau dann, wenn eine neue Zeile im Grid ausgewählt wird und ist ausgegraut, wenn man das Teil nicht bestellen kann (weil schon bestellt) und normal, also drückbar, wenn nicht.

Die Tatsache, das ein Ersatzteil schon bestellt ist, visualisierst Du entweder, indem Du die Spalte 'Bestellt' als Checkbox anzeigst, oder aber, indem Du die ganze Zeile einfärbst (z.B. grün=bestellt). Das spart Platz, denn die Information 'bestellt' erkennt man nun direkt an der Farbe.
  Mit Zitat antworten Zitat