|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
||||||
Как зачеркнуть всю строку в DBGridEh?28.06.2019, 23:38. Показов 3020. Ответов 17
Всем привет!
Подскажите пожалуйста. Как можно зачеркнуть всю строку в DBGridEh в зависимости от значения определенного поля в записи? Такой код:
подскажите как зачеркнуть всю строку? Спасибо!
0
|
||||||
| 28.06.2019, 23:38 | |
|
Ответы с готовыми решениями:
17
Указатель на строку: как выводить не всю строку целиком, а конкретную букву Как после листинга в ListBox'se, не выделять строку, а только навести мышку и увидеть всю строку Как очистить всю строку? |
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
|
| 29.06.2019, 11:50 [ТС] | |
|
krapotkin, а можно примерчик, пожалуйста?
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|||||||||||
| 29.06.2019, 18:56 | |||||||||||
Сообщение было отмечено Vit@L как решение
Решение
Так устроит?
А если версия Дельфи поддерживает, то можно без вычислений:
1
|
|||||||||||
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
|
| 29.06.2019, 19:30 [ТС] | |
|
Пытливый, Спасибо большое. Попробую уже завтра. Обязательно отпишусь. Версия Delphi XE6
0
|
|
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
|
| 30.06.2019, 16:31 [ТС] | |
|
Пытливый, что-то совсем не то что нужно получается.
1. горизонтальная линия на всю строку не рисуется. 2. Исчезает верхняя линия выделенной строки. 3. Исчезают вертикальные линии заголовков полей. 4. вертикальные линии выделенной строки становятся толще. Пробовал и первый код и второй, результат один и тот же.
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||||||
| 30.06.2019, 16:48 | ||||||
|
Оба кода работают одинаково для DBGrid. Видимо DBGridEh иначе обрабатывает отрисовку ячейки.
Попробуйте добавить после или до моего кода
1
|
||||||
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
||||||
| 30.06.2019, 17:17 [ТС] | ||||||
|
Пытливый, большое спасибо! Все заработало. Только наоборот, когда я убрал строку dbgrideh1.DefaultDrawColumnCell(Rect, DataCol, Column, State); все стало корректно отображаться именно так как мне надо.
![]() Добавлено через 7 минут только почему-то цвет текста остается неизменным.
0
|
||||||
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||||||
| 01.07.2019, 00:14 | ||||||
|
Потому и остается, что убрали отрисовку по умолчанию. Так должно работать:
0
|
||||||
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
||||||
| 01.07.2019, 09:43 [ТС] | ||||||
|
Пытливый, интересная штука получается.
Если я ставлю отрисовку:
Неужели DBGridEh может делать только что-то одно?
0
|
||||||
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 01.07.2019, 09:46 | |
|
нет у меня TDBGridEh потому проверяю на TDBGrid, а там все работает как надо.
0
|
|
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
|
| 01.07.2019, 10:17 [ТС] | |
|
Пытливый, понятно. Но вот, к сожалению, TDBGridEh отказывается рисовать и то и то.
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||||||
| 01.07.2019, 11:48 | ||||||
|
У меня в проектах на DBGridEh Canvas рисует все что угодно (версия EhLib 5.2).
Из реального проекта, где линия зачеркивает все ячейки строк, удовлетворяющие условию:
0
|
||||||
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
||||||
| 01.07.2019, 12:02 [ТС] | ||||||
|
Скандербег,
а если такой код добавить:
0
|
||||||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 01.07.2019, 12:27 | |
|
Грид из EhLib несколько по-другому работает, хотя всё что присуще штатному делфийскому гриду воспроизводит.
Сейчас еще раз проверил и получил обломчик, когда добавил DefaultDrawColumnCell - в моем случае не отрисовывались значения в колонках кроме первой. Для конкретной колонки в DBGridEh можно использовать OnGetCellParams. Такого события нет в штатном гриде. Добавлено через 6 минут Использовать Canvas (в нашем случае для отрисовки линий) можно только в событии DrawColumnCell, а все остальное (шрифт, цвет, заливка) делается в событии OnGetCellParams самого грида (ну или любой из колонок, если есть надобность разукрашивать по своему одну из них).
1
|
|
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
|
| 01.07.2019, 12:53 [ТС] | |
|
Скандербег, Во, теперь все заработало как надо.
Еще раз большое Вам (Пытливый, и Скандербег) спасибо за помощь. У меня еще один вопрос, а как сделать, чтобы линия, которая перечеркивает строку, рисовалась не с первой, а со второй или третьей колонки?
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||||||
| 01.07.2019, 13:47 | ||||||
1
|
||||||
|
Кратк. - сест. тал.
87 / 51 / 4
Регистрация: 13.03.2008
Сообщений: 543
|
|
| 01.07.2019, 14:26 [ТС] | |
|
Скандербег, спасибо. Сейчас именно то, что нужно.
0
|
|
| 01.07.2019, 14:26 | |
|
Помогаю со студенческими работами здесь
18
Как удалить строку всю? Как прочитать всю строку? Как записать всю строку в sscanf? Как выбрать всю строку в DataGridView? Как обнулить всю строку сразу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|