Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DBGrid [D6, Paradox]


Andy Eremin ©   (2003-01-21 10:22:00) 

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


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

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


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

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


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

используй код (с?)Соловьев (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 11:15:00) [4]

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


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

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


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

Если только 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;


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

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


Andy Eremin   (2003-01-21 10:49:00) [8]

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


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

Опция dgRowSelect


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

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


Delirium^.Tremens   (2003-01-21 10:43:00) [11]

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


Andy Eremin   (2003-01-21 10:39:00) [12]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо