DBAdvGrid -> Einzelne Zeilen nach Status einfärben



  • Hallo!

    Ich habe mir jetzt aus verschiedenen Gründen von TMS einen Component Pack gekauft und bin gerade dabei in verschiedenen Formularen die Grids zu tauschen.

    Bei meinem alten Grid hatte ich eine Routine drin um verschiedene Zeilen je nach Status der Datenbank einzufärben.

    Dies habe ich mit nachfolgendem Code realisiert:

    void __fastcall Tf_terminalverwaltung::DBGrid1DrawColumnCell(TObject *Sender, const TRect &Rect,
    		  int DataCol, TColumn *Column, TGridDrawState State)
    {
    	if(ADOQuery1->FieldByName("NR_KD")->AsInteger == 0) {
    		// Automat ist Aufstellplatz nicht zugeordnet
    		DBGrid1->Canvas->Brush->Color = 0x008080FF;
    		DBGrid1->DefaultDrawColumnCell(Rect, DataCol, Column, State);
    	}
    
    	if (ADOQuery1->FieldByName("NR_KD_ABRECHNUNG")->AsInteger > 0) {
    		// Automat ist fuer die naechste Abrechnung vorgemerkt
    		DBGrid1->Canvas->Brush->Color = clYellow;
    		DBGrid1->DefaultDrawColumnCell(Rect, DataCol, Column, State);
    	}
    

    Leider gibt es bei DBAvdGrid die Eigenschaft OnDrawColumnCell nicht, ich habe also im Moment keine Ahnung wo ich das Eintragen kann. Ich habe es auch schon im OnChangeEvent meiner DataSet versucht, da tut sich aber garnichts.

    Wäre dankbar wenn jemand was dazu wüsste.

    LG Maik



  • ...wollte den Beitrag noch mal anstoßen. Weiß wirklich niemand wie das geht? LG Maik



  • DrawCell? Quelle.


Log in to reply