Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/30: Рейтинг темы: голосов - 30, средняя оценка - 4.97
Админю немножко :)
126 / 115 / 25
Регистрация: 05.01.2009
Сообщений: 889

Выделить цветом строки/текст в гриде по условию

02.04.2014, 17:07. Показов 6549. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Такая задача.
На форме имеется кнопка, по нажатию на неё открывается форма с гридом в котором выведены записи людей, у которых в ближайшее время день рождения. Среди этих людей есть юбиляры, так вот надо сделать так, чтобы в этом списке именинников юбиляры выделялись другим цветом. Или текст или сама строка грида. Грид стандартный
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2014, 17:07
Ответы с готовыми решениями:

Calcfields в DB Grid. Нужно отобразить в гриде значения по условию
Здравствуйте. Уважаемые спецы, помогите разобраться. Дельфи 7, BDE, файл DBF с одним полем (String). Datasouce1, Table1, DBGrid....

Смена строки в гриде
Доброго. Как ни удивительно, я не смог найти никакой информации об этом. При смене строки в одном из гридов - хочу менять остальные...

Сделать строки выше в гриде
Подскажите, пожалуйста, как в одном из гридов сделать строки выше. А то если растягивть-формы не хватает, т.к. на ней 3 грида. Да и...

7
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
02.04.2014, 17:16
Разноцветный D B G R I D
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
02.04.2014, 17:20
Или вот здесь тоже обсасывалась похожая тема.
0
Админю немножко :)
126 / 115 / 25
Регистрация: 05.01.2009
Сообщений: 889
02.04.2014, 23:30  [ТС]
это я читал. но немного не понял. обработчик DrawColumnCell куда мне вписать? у меня по кнопке отрабатываются процедуры выборка из базы, три запроса. Как мне связать эти две функции?
вот кусок кода по кнопке
Delphi
1
2
3
4
5
6
7
8
//Вывод количества дней рождений сегодня
       p1:=StrToInt(IntToStr(monthOf(DateTimePicker1.Date)) + RightStr('0'+IntToStr(dayOf(DateTimePicker1.Date)),2));
       ADOQ.Close;
       ADOQ.SQL.Clear;
       ADOQ.SQL.Add('select * FROM telbase WHERE drr=:q1 order by drr');
       ADOQ.Parameters.ParamByName('q1').Value:=p1;
       ADOQ.Open;
       Label21.Caption:=inttostr(ADOQ.RecordCount);
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
02.04.2014, 23:45
Событие OnDrawColumnCell приходит к DBGrid, когда требуется перерисовка сетки (ячеек грида).
Обработчик и надо связывать с этим событием грида (событие можно найти на закладке Events инспетора объектов, если выделить DBGrid и нажать F11).

P.S. Что-то не видно этих трех запросов в приведенном коде
0
Админю немножко :)
126 / 115 / 25
Регистрация: 05.01.2009
Сообщений: 889
03.04.2014, 00:20  [ТС]
Скандербег, это часть кода))
вот кусок кода по кнопке
мне нужна отрисовка после строки
Delphi
1
ADOQ.Open;
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,611
03.04.2014, 00:27
Цитата Сообщение от Drongo Посмотреть сообщение
это я читал. но немного не понял.
Совсем не понял.
Цитата Сообщение от Drongo Посмотреть сообщение
мне нужна отрисовка после строки
Отрисовка "после строки" ничего не даст. ДБГрид (как и любое окно виндовс) перерисовывается постоянно. И как только он перерисовывается вызываются обработчик DrawColumnCell. В нем ты должен рисовать так как это тебе нужно.
0
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
03.04.2014, 00:31
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   DBGrid1OnDrawColumnCell
begin
 
if (ADOQuery1.FieldByName('Юбиляры').AsString='Юбиляр') then     
 begin                                                            
  with  DBGrid1.Canvas do                                        
   begin                                                           
    Brush.Color:=clGreen;                                          
    Font.Color:=clWhite;                                          
    DBGrid1.OnDrawColumnCell(Rect, DataCol, Column, State); 
   end;                                                            
 end;                                                            
 
end;

Как то так...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2014, 00:31
Помогаю со студенческими работами здесь

В зависимости от значения поля выделить текст строки другим цветом...
Друзья, подскажите пожалуйста, можно ли замутить такую формулу и как? Например в форме есть поле "Тест", которое может...

Выделить нужный текст другим цветом цветом
как выделить a,a, a другим цветом

Выделить шрифт в ячейке нужным цветом, согласно определенному условию
Как сделать чтобы в ячейке шрифт выделялся нужным цветом согласно определенному условию. Пример: Допустим есть диапазон ячек А1:A300 в...

Определённый текст выделить красным цветом
Необходимо выделить значения sum и kol красным цветом.Как это сделать?Буду благодарен. Label1.Caption:='Сумма отрицательных...

Как выделить текст цветом в RichTextBox?
У меня в RichTextBox записан текст:"Лучшие комнаты мистера Бэггинса находились по левую руку, и только в них имелись окна — глубоко сидящие...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru