Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Einfärben des Grids (https://www.delphipraxis.net/163551-einfaerben-des-grids.html)

Flash68 4. Okt 2011 11:24

AW: Einfärben des Grids
 
Da kennt er das DefaultDrawColumnCell nicht.

DeddyH 4. Okt 2011 12:03

AW: Einfärben des Grids
 
Das verstehe ich nicht, da das eine Methode von TCustomDBGrid ist.

Flash68 4. Okt 2011 12:06

AW: Einfärben des Grids
 
sagt es wäre ein undeklarierter Bezeichner.

DeddyH 4. Okt 2011 12:06

AW: Einfärben des Grids
 
Die Unit DBGrids ist aber eingebunden?

Flash68 4. Okt 2011 12:15

AW: Einfärben des Grids
 
ja die hab ich eingebunden.

DeddyH 4. Okt 2011 12:19

AW: Einfärben des Grids
 
Ist das jetzt eine Meldung von ErrorInsight, oder lässt sich das Projekt faktisch nicht kompilieren?

Flash68 4. Okt 2011 12:23

AW: Einfärben des Grids
 
Es wird in der Struktur angezeigt und das Projekt lässt sich nicht kompilieren.

DeddyH 4. Okt 2011 12:29

AW: Einfärben des Grids
 
OK, in meinem 2. Codebeispiel war ein end zuviel, nachdem ich das rausgelöscht habe, lässt sich das Projekt unter XE kompilieren. Ich habe keine Ahnung, was das sein könnte.

Flash68 4. Okt 2011 12:37

AW: Einfärben des Grids
 
Ich hab den Fehler gefunden:

Delphi-Quellcode:
procedure TFRM_Main.DBG_RechnerDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
  var
  test1: real;
  RowNo: Integer;
  farbe: Integer;
begin
  with (Sender as TDBGrid) do
  begin
    if (gdSelected in State) then
    begin
      farbe := clskyblue;
    end
    else
    begin
      if Odd(DM_Rechner.ADO_DS_Rechner.RecNo) then
        farbe := clSilver
      else
        farbe := clWhite;
      end;
    canvas.brush.Color := farbe;
    DefaultDrawColumnCell(Rect, DataCol, Column, State) ;
  end;
end;
die letzten 2 Zeilen waren außerhalb des ends und deshalb wußte die procedure nicht das es zum dbgrid gehört.

Aber das hat auch nicht geholfen, es sind immer noch alle Zeilen silber.

DeddyH 4. Okt 2011 12:45

AW: Einfärben des Grids
 
Liste der Anhänge anzeigen (Anzahl: 1)
Tja, ich weiß es auch nicht. Bei mir klappt es so wunderbar:
Delphi-Quellcode:
procedure TFRM_Main.DBG_RechnerDrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  grid: TDBGrid;
  farbe: TColor;
begin
  grid := Sender as TDBGrid;
  if (gdSelected in State) then
  begin
    farbe := clSkyBlue;
  end
  else
  begin
    if Assigned(grid.Datasource) and Assigned(grid.Datasource.Dataset) and
       Odd(grid.DataSource.DataSet.RecNo) then
      farbe := clSilver
    else
      farbe := clWhite;
  end;
  grid.Canvas.Brush.Color := farbe;
  grid.DefaultDrawColumnCell(Rect, DataCol, Column, State) ;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz