Главная страница
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.023 c
1-15729
Anton
2003-01-27 17:25
2003.02.06
Как сделать простенький невизуальный таймер


8-15769
Alfik
2002-10-21 19:15
2003.02.06
Иконки в ХР


14-15900
Tsr
2003-01-17 00:36
2003.02.06
Большие размеры пустых файлов


14-15906
_Максим
2003-01-18 15:23
2003.02.06
Что такое 32-битная система?


1-15551
Sergy
2003-01-28 15:28
2003.02.06
Не могу найти ссылку на файл?