Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [Borland c++]

  1. #1
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278

    [Borland c++]

    Ciao raga.

    Ho un problema con il componente TDBGrid.
    Sostanzialmente il problema e' che a seconda del valore di un campo sul database chiamato "EVASO" di dominio (true/false) devo colorare di rosso il record corrispondente ad EVASO = true.
    Ho provato a fare un po di ricerche su internet ed ho trovato di questo:

    codice:
    void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender,
          const TRect &Rect, TField *Field, TGridDrawState State)
    {
      if (Field->FieldName == "EVASO")
      {
         if (Field->AsBoolean == true)
           DBGrid1->Canvas->Font->Color = clRed;
      }
    
      DBGrid1->DefaultDrawDataCell(Rect, Field, State);
    }
    Il problema pero' e' che non so come viene attivato questo evento.
    Sigh !.
    C'e' qualcuno che puo' aiutarmi ?
    Grazie.


  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Hai provato ad impostare la proprietà DefaultDrawing del controllo DBGrid a False?

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    Si, ho provato ... ma quando vado ad eseguire il prog, sembra che la tabella sia vuota, ma se vado a fare doppio click su ogni singola cella, mi viene fuori il contenuto della cella (praticamente sembra come se il colore del carattere e' cambiato in bianco).
    Pero' non funziona. sigh!
    Ho provato ad inserire anche un ShowMessage (..) dentro quell'evento per vedere se viene eseguito ma non c'e' niente da fare.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Una domanda stupida: sei sicuro che il metodo di gestione sia realmente associato all'evento attraverso l'Object Inspector? Non si sa mai...
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di Kreator
    Registrato dal
    May 2002
    Messaggi
    278
    Si, e' associato.
    questo e' il mio codice:

    codice:
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
       Table1->Active = true;
    }
    
    void __fastcall TForm1::FormDestroy(TObject *Sender)
    {
       Table1->Active = false;
    }
    
    void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender,
          const TRect &Rect, TField *Field, TGridDrawState State)
    {
      ShowMessage ("CIAO");
      if (Field->FieldName == "EVASO")
      {
         if (Field->AsBoolean == true)
           DBGrid1->Canvas->Font->Color = clRed;
      }
    
      DBGrid1->DefaultDrawDataCell(Rect, Field, State);
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.