Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.28;
Скачать: 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 вся ветка

Текущий архив: 2003.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
14-92256
Озабоченный
2003-08-11 15:52
2003.08.28
Легализация пиратской версии Делфи...


14-92242
лсдишник
2003-08-09 19:15
2003.08.28
Помогите выьрать LCD 17


3-91984
Тщищвн
2003-08-01 09:42
2003.08.28
Вычисляемые поля в запросе на FB?


6-92144
DocSS
2003-06-19 19:15
2003.08.28
Заполнение html-форм через TWebBrowser?


14-92241
NIKKI
2003-08-09 21:56
2003.08.28
View this site.