Autor Beitrag
AndreM
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Win2k, WinXP, Suse 10
D7 Ent
BeitragVerfasst: Mo 23.02.04 09:12 
Hallo Community,

ich hoffe ich kann mir jemand von euch weiter helfen. Und zwar versuche ich derzeit die ungeraden Zeilen in einem DBGrid andersfarbig darzustellen, als die geraden Zeilen

Das ganze funktioniert auch schon ganz wunderbar mir
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm_Haupt.DBGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
  var zeile : LongInt;
      gerade : integer;
begin
  if (DataCol = 0then
  begin
    zeile := Form_Haupt.RxMemoryData.RecNo;
    gerade := zeile mod 2;

    case gerade of
      1: Form_Haupt.DBGrid.Canvas.Brush.Color := clMenu;
    end;
    Form_Haupt.DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;


Nur leider färbt er mit dieser Funktion lediglich die erste Zelle in jeder Zeile. Ich möchte jedoch die gesamte Zeile andersfarbig darstellen.

Ich weiß, dass die Case-Anweisung eigentlich ziehmlich überflüssig ist, aber eventuell wird das ganze noch erweitert.


Zuletzt bearbeitet von AndreM am Mo 23.02.04 09:59, insgesamt 1-mal bearbeitet
rstaeker
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 94

WIN 2000
D6 Prof
BeitragVerfasst: Mo 23.02.04 09:55 
Hallo,

dein Fehler liegt in der ersten Zeile nach dem begin.
Du führst die Überprüfung nur in der ersten Spalte aus.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
begin 
  if (DataCol = 0then
  begin 
    zeile := Form_Haupt.RxMemoryData.RecNo; 
    gerade := zeile mod 2

    case gerade of 
      1: Form_Haupt.DBGrid.Canvas.Brush.Color := clMenu; 
    end
    Form_Haupt.DBGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State); 
  end
end;



Nimm diese Zeile mal raus, dann sollte es funktionieren.
ausblenden Delphi-Quelltext
1:
  if (DataCol = 0then					


MfG Rene
AndreM Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

Win2k, WinXP, Suse 10
D7 Ent
BeitragVerfasst: Mo 23.02.04 09:59 
Jup, besten dank! :D