Culoarea celulară evidențiind în dbgrid

Culoarea celulară evidențiind în DBGrid

cum pot face o anumită celulă într-o altă culoare
de exemplu, dacă cuvântul "verde" din această celulă este verde și dacă cuvântul "roșu" este roșu







proces peDrawColumnCell # xA0; Grile.
aproximativ așa:
dacă (QueryActiveDogovors.FieldByName ("OnDatePaid")) AsDateTime) = date () începe apoi
# xA0; # xA0; # xA0; # xA0; # xA0; DBGridActiveDogovors.Canvas.Font.Color: = clBlue;
se încheie;

Și dacă cuvântul "maro-maro-zmeură" este în celulă?

În printsepe sa dovedit, dar un pic ceva ce am dorit, acesta este evidențiat atunci când costă peste și aș dori ca ea rosit atunci când sunt afișate, de asemenea, și anume atunci când baza a deschis celulele pe care le-am subliniat în roșu
textul însuși vygledit așa


# xA0; dacă ADOTable1.FieldByName ("S_DATE") AsString = "" atunci
# xA0; # xA0; DBGrid1.Canvas.Font.Color: = clred;

aceasta este în OnDrawColumnCell a obiectului DbGrid

Și prelucrarea nu în OnDrawData Cell este necesară?

ADOTable1.FieldByName ("S_DATE") AsString = ""






indiferent de locul în care este poziționat cursorul. Evident, acest cod este în interiorul mai mult dacă

lui Soloviev
Vă mulțumim pentru link-ul meu că mi-a rezolvat toate întrebările legate de selecție.
Acesta este modul de selectare atunci când există un cursor pe această celulă

procedura TForm1.DBGrid1DrawColumnCell (expeditor: TObject; const Rect: TRect;
# xA0; DataCol: Integer; Coloană: TColumn; Stat: TGridDrawState);
începe
# xA0; dacă ADOTable1.FieldByName ("S_DATE") AsString = "" atunci
# xA0; DBGrid1.Canvas.Font.Color: = clred;
se încheie;


procedura TForm1.DBGrid1DrawColumnCell (expeditor: TObject; const Rect: TRect;
# xA0; DataCol: Integer; Coloană: TColumn; Stat: TGridDrawState);
începe
# xA0; dacă ADOTable1.FieldByName ("S_DATE") AsString = "" atunci

Dacă este necesar să selectați numai această celulă, atunci adăugăm o altă condiție

# xA0; dacă Column.FieldName = "S_DATE" atunci


cu # xA0; DBGrid1.Canvas face
începe
# xA0; Brush.Color: = clGreen;
# xA0; Font.Color: = clWhite;
# xA0; FillRect (Rect);
# xA0; TextOut (Rect.Left + 2, Rect.Top + 2, Column.Field.Text);
se încheie;
se încheie;

la YuYu
nu există un cod dat în cazul în care durerea nu este implicată. (si in alte link-uri vicioase :-))

la _ALEXey_ # xA0; Nu am dat seama încă de agenți, dar în opinia mea
OnDrawColumnCell - afectează aspectul celulei și
OnDrawDataCell # xA0; - afectează conținutul celulei,
dar acest lucru este subektivno meu nu inteles pana la sfarsitul avizului

Setați DBGrid1.DefaultDrawing = false, iar la sfârșitul manualului adăugați:

TDBGrid (Expeditor) .DefaultDrawColumnCell (Rect, DataCol, Coloană, Stat);







Trimiteți-le prietenilor: