Вниз
Скачать: CL | DM;

Перерисовка ДБГрида взависимости от значений полей таблицы   Найти похожие ветки 

 
Relaxxx ©   (2003-08-04 18:36) [0]

Как мне закрасить ячейки Грида в соответствии от данных находящейся в таблице базы??
Я делал так

procedure Tconstr_form.DBGrid_zakDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
my_artic:string;
my_date_nach:TDate;
my_date_konc:TDate;
begin
my_artic:=DBGrid_zak.Fields[0].AsString;
QueryZak.Close;
QueryZak.SQL.Clear;
QueryZak.SQL.Add("SELECT * FROM QQQ WHERE ARTICLE="+""""+my_artic+"""");
Constr_form.QueryZak.Open;
//Сдесь уже пишет ошибку так делать нельзя я так понял (но не понял как мне тогда сделать)
Ну дальше я просто считываю поле которое у меня будет влиять на закраску и тогда уже закрашиваю.

ПРОБЛЕМА В ТОМ Я НЕМОГУ узнать значение поля артикла запись которого сейчас перерисовывается.
Не уверен что понятно обьяснил, но все же, если что непонятно спрашивайте
end;


 
HSolo ©   (2003-08-04 18:45) [1]

TColumnEh.Field / FieldName
И если уж у Вас DBGridEh, то не проще ли обработать OnGetCellParams?


 
HSolo ©   (2003-08-04 18:50) [2]

Вдогонку: вот действующий пример. Оно?

procedure TfGetHozOper.DBGridEh1GetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
if (DBGridEh1.DataSource.DataSet.FieldByName("fkinddoc").AsInteger = 1)
then begin
AFont.Style := AFont.Style + [fsBold];
( (not (gdFocused in State) Вдогонку: вот действующий пример. Оно?

procedure TfGetHozOper.DBGridEh1GetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
if (DBGridEh1.DataSource.DataSet.FieldByName("fkinddoc").AsInteger = 1)
then begin
AFont.Style := AFont.Style + [fsBold];
if ((not (gdFocused in State)) and (not (gdSelected in State)))
then Background := Column.Title.Color;
end;
end;


 
sniknik ©   (2003-08-04 18:51) [3]

у тебя при прорисовке запрос уже должен быть открыт. (заранее) ты же по нему рисуеш.(?)
~
procedure Tconstr_form.DBGrid_zakDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if QueryZak.Active then begin
if QueryZak.Fields[0].AsInteger = 0 then {рисуеш}
....

> ПРОБЛЕМА В ТОМ Я НЕМОГУ узнать значение поля артикла запись которого сейчас перерисовывается.
то которое перерисовывается в данный момент текущее, просто читай его.
> Не уверен что понятно обьяснил, но все же, если что непонятно спрашивайте
лутше ты.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-92108
still
2003-08-14 19:36
2003.08.28
Стандартное PopupMenu у TCustomEdit


3-92063
syte_ser78
2003-08-02 12:17
2003.08.28
связь treeview и таблицы


4-92316
Fdu4
2003-06-24 21:11
2003.08.28
подмена параметров в CallNextHookEx


8-92128
Артем1
2003-03-30 13:28
2003.08.28
звук


9-91966
Призрак_Коммунизма
2003-02-27 07:48
2003.08.28
Где скачат спрайты в инете?




   Наверх