Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.02.2009, 00:46   #1
KiLLiR
 
Аватар для KiLLiR
 
Регистрация: 30.03.2008
Сообщений: 9
По умолчанию Можно ли в DBGrid выделять строки разными цветами?

Всем доброго времени суток.
Вопрос состоит в следующем... У меня в программе DBGrid является отображением журнала записи заявок в ЖКХ (журнал хранится в базе access). Я хочу каждой заявке присваивать статус (выполненная, невыполненная, срочная), и соответственно окрашивать строки с этими заявками, например, в серый, желтый и красный цвета. Возможно ли это вообще? Если да, то как? Если нет, то что можете посоветовать для визуального выделения этих строк? Может быть вообще сменить способ отображения баз...

P.S. Пишу на D7 под WinXP

Заранее спасибо.
KiLLiR вне форума
Старый 08.02.2009, 00:59   #2
KiLLiR
 
Аватар для KiLLiR
 
Регистрация: 30.03.2008
Сообщений: 9
По умолчанию

Вопрос снят.
KiLLiR вне форума
Старый 08.02.2009, 01:00   #3
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

можно!!
Цитата:
Не знаю, помогу ли я Вам, но я расскажу как можно изменить цвет отдельных ячеек GBGrid без необходимости создания нового компонента. Я только что протестировал этот код....

Я создал форму, поместил на ней компонент TTable и указал ему на таблицу EMPLOYEE.DB в базе данных DBDEMOS. Затем я разместил на форме Datasource и DBGrid, "соединил" их и получил живые данные.

Для демонстрации данной технологии я выбрал поле "номер служащего" в таблице EMPLOYEE.DB и "покрасил" ячейки с нечетными числами. То есть, если число нечетное, красим ячейку в зеленый цвет.

Единственный код расположился в обработчике события OnDrawColumnCell компонента DBGrid и выглядел он так:



Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect:
  TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  holdColor: TColor;
begin
  holdColor := DBGrid1.Canvas.Brush.Color; {сохраняем оригинальный цвет}
  {"раскрашиваем" ячейки только для поля EmpNo}
  if Column.FieldName = 'EmpNo' then
    if (Column.Field.AsInteger mod 2 <> 0) then
    begin
      DBGrid1.Canvas.Brush.Color := clGreen;
      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
      DBGrid1.Canvas.Brush.Color := holdColor;
    end;
end;


В данном случае мы использовали метод DefaultDrawColumnCell компонента TCustomDBGrid, являющегося родителем для TDBGrid. Он раскрасил зеленым цветом нечетные ячейки поля EmpNo
delphiworld

Не самый лучший пример. А если и/или шрифты нужны разноцветные ? Да еще со своими Alignment ?
А если (по какому-то условию - жирный, наклонный) ?
Закрыто - автор снял вопрос.
вступлю в команду разработчиков ПО на Delphi

Последний раз редактировалось mihali4; 08.02.2009 в 01:18.
maladoy вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст в полях таблицы разными цветами в Delphi Гео Помощь студентам 2 13.06.2008 02:10
Можно ли выделять ячейки размещенные вдали друг от друга в StringGrid? aslanbek Общие вопросы Delphi 5 14.03.2008 23:31
Нестандартная задача с цветами ячеек ДБГрид! Abbatik БД в Delphi 2 02.02.2008 18:02
доступ к элементам выделенной строки в DBGrid yulia БД в Delphi 2 12.12.2007 12:51
DBGrid (Строки и заголовок) chingiz Компоненты Delphi 3 06.10.2007 14:49