Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

DBGrid   Найти похожие ветки 

 
Andy Eremin ©   (2003-01-21 10:22) [0]

Мастера! Как выделить строку цветом, не используя подобный код:
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left, Rect.Top+2, Table1.FieldByName(Column.FieldName).AsString);
Как-нибудь можно выделить по-другому?


 
Reindeer Moss Eater   (2003-01-21 10:24) [1]

Строку можно выделить цветом не только не имея подобного кода, но и вообще не имея DBGrid"а


 
Andy Eremin ©   (2003-01-21 10:39) [2]

2 Reindeer Moss Eater
А мне нужно выделить строку цветом в DBGrid`e.
И что Вы имели ввиду?


 
Reindeer Moss Eater   (2003-01-21 10:43) [3]

Я имел ввиду только то, что если что-то имеешь ввиду, то о том и спрашивай.


 
Delirium^.Tremens ©   (2003-01-21 10:43) [4]

Andy Eremin © (21.01.03 10:39)
Это настолько редкий здесь вопрос, что вряд ли кто-нибудь на него ответит.


 
Reindeer Moss Eater   (2003-01-21 10:44) [5]

Опция dgRowSelect


 
Andy Eremin ©   (2003-01-21 10:49) [6]

2 Reindeer Moss Eater
Как ей пользоваться?


 
Reindeer Moss Eater   (2003-01-21 10:50) [7]

Ей пользоваться не надо, её надо включить в набор опций грида.
Property Options


 
Соловьев   (2003-01-21 10:55) [8]

Если только 1 поле, то
procedure TFForm.DBGridTableDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
oldColor: TColor;
begin
with TDBGrid(Sender) do
begin
oldColor := Canvas.Brush.Color;
IF Column.FieldName ="имя нужного поля" then
Canvas.Brush.Color := clRed;
// Просим GRID перерисоваться самому
DefaultDrawColumnCell(Rect,DataCol,Column,State);
Canvas.Brush.Color := oldColor;
end;
end;


 
don-do   (2003-01-21 11:05) [9]

Чем тебя смущает твой код?


 
Andy Eremin ©   (2003-01-21 11:15) [10]

У меня есть код (написан выше). Во-первых, меня не устраивает, как он отображает ячейки не AsString (не те шрифты и выравнивание). Но это - пол-беды. На ячейки таблицы наложена маска (округление до 4 знаков после запятой, выделение тысяч). "Благодаря" этому некоторые ячейки отображаются неправильно, т.к. метод пытается отобразить их как String.


 
dimis   (2003-01-21 12:06) [11]

используй код (с?)Соловьев (21.01.03 10:55)
вместо
DBGrid1.Canvas.TextOut(Rect.Left, Rect.Top+2, Table1.FieldByName(Column.FieldName).AsString);
надо писать
DefaultDrawColumnCell(Rect,DataCol,Column,State);


 
Andy Eremin ©   (2003-01-21 12:09) [12]

Спасибо всем - нашел решение:
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawDataCell(Rect, Table1.FieldByName(Column.FieldName), State);


 
don-do   (2003-01-21 14:38) [13]

Верно исходники на DBGrid слава богу прилагаются



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
3-15434
CashDi
2003-01-22 12:23
2003.02.06
AutoIncrement firebird dbExpress


9-15378
ork
2002-08-17 22:53
2003.02.06
Создаётся команда


14-15898
Kotka
2003-01-20 14:16
2003.02.06
Стоит посмотреть!


1-15653
diks
2003-01-29 10:50
2003.02.06
Edit


3-15437
Наташа
2003-01-22 13:14
2003.02.06
Транзакции