Bonjour à Tout le monde des développeurs,
Comment colorier les cellules d'un dbgrid selon une condition.
Exemple : la colonne quantité en stock ayant des valeurs nulles.
ou peut être une condition selon deux ou trois colonnes.
Merci.
Bonjour à Tout le monde des développeurs,
Comment colorier les cellules d'un dbgrid selon une condition.
Exemple : la colonne quantité en stock ayant des valeurs nulles.
ou peut être une condition selon deux ou trois colonnes.
Merci.
Mon pb a été résolu aprés consultation du lien:
http://delphi.developpez.com/faq/?pa...#couleurdbgrid
et ce que j'ai voulu faire le voici :
procedure Consult.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if DataMod.IBQLisArticle.FieldByName('QTE').AsInteger<=5 then
begin
DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.Canvas.Brush.Color:=clRed;
if DataCol = 4 then //4 the column is 'Qté'
DBGrid1.DefaultDrawColumnCell(rect, Datacol, column, state);
end;
if DataMod.IBQLisArticle.FieldByName('DATE_PER').AsDateTime<=Date() then
begin
DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.Canvas.Brush.Color:=clRed;
if DataCol = 5 then //5 the column is 'Date_péremption'
DBGrid1.DefaultDrawColumnCell(rect, Datacol, column, state);
end;
end;
donc c comment colorier les cellules d'un dbgrid selon une ou plusieurs condition et s'il n'y a pas le test
if DataCol = n° then
alors toute la ligne sera colorée, et il faut inclure ce test dans le test de la condition sinon les celules des colonnes supérieures au premier n° seront aussi colorées.
Tant mieu.
![]()
Sinon il y'a le composant TJvDBGrid de la suite JVCL qui dispose d'un évenement OnGetCellParams qui est je pense mieu adapté a ton besoin.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager