AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!
Thema durchsuchen
Ansicht
Themen-Optionen

CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

Ein Thema von Alterauge · begonnen am 28. Aug 2012 · letzter Beitrag vom 28. Aug 2012
 
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#1

CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 10:54
Datenbank: MySQL • Version: 5.5 • Zugriff über: MyConnection
Hallo Freunde,

also habe hier unter CRDBGrid1DrawColumnCell siehe Quelltext,
eine if Anweisung!
Soweit auch alles OK!

Mein Problem ist, wenn das Grid leer ist, zum Beispiel durch löschen der Datensätze!
Merkert das Grid, also die if Anweisung!
Habe die Anweisung mal ausgeklammert {} dann läuft alles!
Was kann ich da machen?

Delphi-Quellcode:
procedure TForm1.CRDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
   var
  i : Integer;
 Wert: string;
  begin
   Wert := CRDBGrid1.DataSource.DataSet.FieldByName('Zuordnung').Value;
   if Wert = '1 sofortthen begin
    CRDBGrid1.Canvas.Brush.Color := clred;
     CRDBGrid1.Canvas.Font.Color := clblack;
       end else
    if Wert = '0 Eingangthen begin
     CRDBGrid1.Canvas.Brush.Color := clyellow;
     CRDBGrid1.Canvas.Font.Color := clblack;
       end else
    if Wert = '3 abwartendthen begin
     CRDBGrid1.Canvas.Brush.Color := clAqua;
     CRDBGrid1.Canvas.Font.Color := clblack;
        end else
    if Wert = '9 Fehlerthen begin
     CRDBGrid1.Canvas.Brush.Color := clblack;
     CRDBGrid1.Canvas.Font.Color := clred;
        end else
       if Wert = '98 gesendetthen begin
     CRDBGrid1.Canvas.Brush.Color := cllime;
     CRDBGrid1.Canvas.Font.Color := clblack;
   end else begin
  
    end;
   CRDBGRid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
begin
   CRDBGRid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
        if (gdSelected in State) then
     begin
             Form1.CRDBGrid1.Canvas.Brush.Color := clHighlight;
             Form1.CRDBGrid1.Canvas.Font.Color:=clblack;
        end;
     form1.crDBGrid1.Canvas.FillRect(Rect);
     form1.crDBGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 1, Column.Field.AsString);

begin
  with MyTable1 do
    for i := 5 to Pred(Fields.Count) do
      Fields[i].DisplayWidth := 255;
end;
end;
  end;

Geändert von Alterauge (28. Aug 2012 um 11:07 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz