Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/30: Рейтинг темы: голосов - 30, средняя оценка - 4.87
9 / 9 / 4
Регистрация: 27.06.2011
Сообщений: 295

DBGrid цветовое выделение

12.09.2012, 09:17. Показов 6009. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется DBGrid, нужно выделить красным цветом строки по определенному критерию, допустив выделить строки если в поле есть строка больше 10.00 12.30.00
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
dtCOLOR:= DateToStr(DateTimePicker5.Date) + ' ' + TimeToStr(DateTimePicker6.Time);
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if CheckBoxColor.Checked then
begin
  if Column.FieldName = 'DT' then
  if (Column.Field.AsDateTime > StrToDateTime(dtCOLOR)) then
  begin
    DBGrid1.Canvas.Brush.Color:= clRed;
    DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;
end;
Добавлено через 51 минуту
вопрос решен

Добавлено через 15 минут
хотя...получается закрашивается только ячейка,а нужно чтобы строка полностью, кто нибудь подскажет?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2012, 09:17
Ответы с готовыми решениями:

Выделение DBGrid
Здравствуйте! Можете подсказать? вот например я выбираю одну строку мышкой, и мне надо те данные которые я выбрала внести в программу. как...

Выделение строки в DBGrid
Как по нажатию кнопки выделить нужную мне строку в DBGrid?

DBGrid выделение колонки
Здравствуйте. Я хотел спросить как выделить все ячейки в определенной колонке. Например в программе Navicate это можно сделать нажатием...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,895
Записей в блоге: 11
12.09.2012, 16:18
Цитата Сообщение от GRURUS Посмотреть сообщение
нужно чтобы строка полностью
Значит, пиши:
Delphi
1
2
3
4
5
6
7
8
if CheckBoxColor.Checked then
begin
  if DBGrid1.DataSource.DataSet.FieldByName('DT').AsDateTime > StrToDateTime(dtCOLOR) then
  begin
    DBGrid1.Canvas.Brush.Color:= clRed;
    DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;
1
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
12.09.2012, 18:33
Цитата Сообщение от GRURUS Посмотреть сообщение
Имеется DBGrid, нужно выделить красным цветом строки по определенному критерию, допустив выделить строки если в поле есть строка больше 10.00 12.30.00
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
dtCOLOR:= DateToStr(DateTimePicker5.Date) + ' ' + TimeToStr(DateTimePicker6.Time);
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if CheckBoxColor.Checked then
begin
  if Column.FieldName = 'DT' then
  if (Column.Field.AsDateTime > StrToDateTime(dtCOLOR)) then
  begin
    DBGrid1.Canvas.Brush.Color:= clRed;
    DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;
end;
Добавлено через 51 минуту
вопрос решен

Добавлено через 15 минут
хотя...получается закрашивается только ячейка,а нужно чтобы строка полностью, кто нибудь подскажет?
Михаил Фленов написал это уже в Книге Библия Delphi почитайте книга пожалуйста
0
9 / 9 / 4
Регистрация: 27.06.2011
Сообщений: 295
13.09.2012, 06:05  [ТС]
UI, Спасибо, а по поводу Фленова, я там нашел только выделение цветом ячейки
0
 Аватар для Артём121
66 / 65 / 13
Регистрация: 15.11.2010
Сообщений: 396
Записей в блоге: 1
13.09.2012, 20:08
Вот маленький пример
Delphi
1
2
3
4
5
6
7
8
9
10
11
if (TimeTable.Fields[5].Value='Обед') 
  then 
    begin
      with DBGrid1.Canvas do 
        begin
          Brush.Color:=clGreen;
          Font.Color:=clWhite;
          FillRect(Rect);
          TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
        end;
    end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2012, 20:08
Помогаю со студенческими работами здесь

Выделение строчки в DBGrid
Хелп люди!!Вообщем не могу найти код.Задача такая,есть поиск который показывает нужную строчку в DBGrid.Находит как надо,но на строчке...

DBGrid и выделение строк
Прочитал много тем у вас на форуме, про мою проблему, подходящего не нашел, у меня на форме есть 2 DBGrid, БД firebird, мне нужно, чтобы...

Выделение цветом ячеек DBGrid
У меня есть таблица отображается в dbgrid, нужно чтобы выбраная строка вся выделялась цветом(как на скриншоте(там я в паинте сделал). И...

Выделение в DBGrid перескакивает на 1ю запись
Здравствуйте, у меня на форме есть DBGrid, подключенный через ADOTable к БД. А проблема такая: например, пользователь выделил в DBGrid...

Поиск и выделение строк в DBGrid
Идея такая, на форме размещены dblookupcombobox, dbgrid, AdoConnection, Datasourse, Adoquery. Выбираем в dblookupcombobox какое-нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru