Delphi > Obecné

zabarveni hodnoty v DBGridu podle pravidel

(1/2) > >>

Kony:
Ahoj, je mozno nejak zabarvit policka v DBGridu (kde jsou pouze cisla) , kdyz bude platit pravidlo

Méně než 2 bude políčko oranžové
bude 0 a nebo záporné bude políčko červené


A potom na to následuje otázka, jestli lze filtrovat položky (řádky) kde platí jedna z těchto pravidel

miroB:
Pozrel by som pozorne stránku:
http://www.scalabium.com/smdbgrid.htm
Všetko to tam je. A aj kus viac.

Kony:
super...

jeste jak to nainstalovat abych to mohl pouzivat :)

Kony:
tak nainstalovano, jeste prijit na to zabarvování

Zkousim to takto


--- Kód: Delphi ---procedure TForm1.SMDBGrid1DrawColumnCell(Sender: TObject;  const Rect: TRect; DataCol: Integer; Column: TColumn;  State: TGridDrawState);begin if ZTable1.FieldByName('sklad').AsInteger<1 then SMDBGrid1.Canvas.Font.Color:=clRed;end;
ale to mi nic neudela i kdyz tam dam zapornou hodnotu

tak uz


--- Kód: Delphi ---procedure TForm1.SMDBGrid1DrawColumnCell(Sender: TObject;  const Rect: TRect; DataCol: Integer; Column: TColumn;  State: TGridDrawState);begin if ZTable1.FieldByName('sklad_znojmo').AsInteger<1 then SMDBGrid1.Canvas.Font.Color:=clRed; SMDBGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);end; 

Ještě teda jedna věc a to vyhledat všechny položky který jsou zabarvený do červena a nebo mají hodnotu mensí jak 1

Kony:
Tak to bych taky uz mel


--- Kód: Delphi ---procedure TForm1.ZTable1FilterRecord(DataSet: TDataSet;  var Accept: Boolean);var  Value: Integer;begin  Value:=ZTable1['sklad_znojmo'];  Accept:=Value<2;end;
A potom na tlačítku


--- Kód: Delphi ---procedure TForm1.Button10Click(Sender: TObject);begin  ZTable1.Filtered:=True;end;
Ale jak mam potom udelat, kdyz chci na tom Table pouzit vic filtru, takto mu urcim ten filter a jen pustim, ale co kdyz tam chci pouzit na druhym tlacitku hodnotu <20...... to bych musel udelat druhy filtr, ale jak prosim na to ?

Navigace

[0] Seznam témat

[#] Další strana

Přejít na plnou verzi