Форум: "Базы";
Текущий архив: 2003.08.28;
Скачать: [xml.tar.bz2];
ВнизПерерисовка ДБГрида взависимости от значений полей таблицы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c