Страница 1 из 1

Цвет в dbgrideh

Добавлено: 25 мар 2006, 16:15
Лелик_1044
Стоит Dbgrideh
есть table куда во время работы записываются данные
Каким образом можно пометить (дать какое-то значание)опредленню строчку, чтоб в последствии ее закрасить

Делаю так при добовлении строки в бд
RxData.Fields[0].AsString := 'Пример';
RxData.Fields[0].Tag:=999;

Потом в dbgrifeh

procedure TFrmGenMain.DBGridGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
if Column.Field.DataSet.Fields[0].Tag=999 then background:=clgreen;
end;

Но почему-то не работает

Добавлено: 27 мар 2006, 11:50
Игорь Акопян
поле Tag не имеет отношения к базе данных - Это поле объекта TComponent.
Для решения задачи вам придётся использовать поле базы данных типа:
if Column.Field.DataSet.Fields[0].AsString='Пример' then background:=clgreen;

Добавлено: 28 мар 2006, 14:08
Лелик_1044
Игорь Акопян,
так в том-то и дело я не знаю точное имя поля.
в одном случае может быть одно в другом другое.
а если все проверяьт это время

Добавлено: 29 мар 2006, 10:23
Игорь Акопян
Лелик,
строку по тэгу компонента ты всё равно не найдёшь.
Какой у тебя критерий закраски должен быть? Ты же в тэг 999 записал не просто так? ;)

Добавлено: 29 мар 2006, 10:40
Лелик_1044
[quote="Игорь Акопян"]Лелик,
строку по тэгу компонента ты всё равно не найдёшь.
Какой у тебя критерий закраски должен быть? Ты же в тэг 999 записал не просто так? ]

999- эту строчку надо раскрасить (простое число). Я бы мог по названи проверять, но название не постоянно.

Я эту пробелму решил, не так как хотел добаил новый столбец и туда уже записываю 999