|
13.12.2011, 13:38 | #1 |
Участник
|
Как имитировать подсветку активной строки/строк?
При подкрашивании строк грида, подсветка активной строки мешает, если отключить. то не видно что выбрано.
Кто-нибудь делал вручную подсветку активных строк? Через DS.refresh, в котором вызывается ClearDisplayOptions, для небольших наборов записи работает сносно. А вот при выделении всех строк через Ctrl+A выбранные строки не подсвечиваются. Подсвечиваются если выбрать перед этим одну из острок грида и успеть нажать Ctrl+A если аксапта тормозит или если после Ctrl+A кликнуть на свободное место в форме. Что дернуть нужно, чтобы нормально срабатывало? |
|
13.12.2011, 13:46 | #2 |
Участник
|
При помощи метода formDataSource.defaultMark() можно определить факт выбора всех строк. Можно попробовать учесть это при раскраске.
|
|
13.12.2011, 14:16 | #3 |
Участник
|
|
|
13.12.2011, 13:48 | #4 |
Ищущий знания...
|
Цитата:
Сообщение от uchenik
При подкрашивании строк грида, подсветка активной строки мешает, если отключить. то не видно что выбрано.
Кто-нибудь делал вручную подсветку активных строк? Через DS.refresh, в котором вызывается ClearDisplayOptions, для небольших наборов записи работает сносно. А вот при выделении всех строк через Ctrl+A выбранные строки не подсвечиваются. Подсвечиваются если выбрать перед этим одну из острок грида и успеть нажать Ctrl+A если аксапта тормозит или если после Ctrl+A кликнуть на свободное место в форме. Что дернуть нужно, чтобы нормально срабатывало? Что бы при позиционировании на строке, которая подсвечена каким либо цветом, подсвечивание пропадало? Или что? Ещё не совсем понятно, зачем делали подсветку строки, если эта подсветка мешает?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
13.12.2011, 14:01 | #5 |
Ищущий знания...
|
Правильно ли я понимаю, что когда Вы встаете на строку, она выделяется синим цветом (активный курсор), и за ним не видно, в какой цвет окрашена строка (то что через DisplayOption)?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
13.12.2011, 14:15 | #6 |
Участник
|
Цитата:
Для обхода этого отключил стандартную подсветку строк и крашу в другой оттенок. |
|
13.12.2011, 14:28 | #7 |
Участник
|
каким образом вы сейчас определяете что строка активна?
|
|
13.12.2011, 14:35 | #8 |
Участник
|
По курсору.
Выбранные по GetFirst(1) |
|
13.12.2011, 14:53 | #9 |
Участник
|
Перед тем как начинать искать раскрашиваемую запись в списке выделенных проверьте при помощи метода defaultMark, возможно выделены все записи и тогда перебор уже не нужен.
|
|
13.12.2011, 15:08 | #10 |
Участник
|
|
|
13.12.2011, 15:01 | #11 |
северный Будда
|
А я бы проблему решал перпендикулярно
Обычно подкрасить строки просят тогда, когда они различаются по условному статусу. При этом статус может определяться и по набору значений (ну например - сумма больше нуля и без даты - хорошо, меньше нуля - плохо, остальные удовлетворительно). В таком случае лучше явно вести новое поле "Статус" и заложить указанную логику в расчёт этого поля. И мы сразу имеем следующие преимущества: 1) По этому полю можно отфильтроваться, отсортироваться и т.д. 2) Нет описанных автором темы проблем с цветом текущей строки 3) Статус в явном виде описывает состояние строки. А цвета надо запоминать. ну и т.д.
__________________
С уважением, Вячеслав |
|
13.12.2011, 15:11 | #12 |
Участник
|
Как это решает проблему топикстартера "При подкрашивании строк грида, подсветка активной строки мешает"
Или вы предлагаете вообще отказаться от раскраски? Последний раз редактировалось S.Kuskov; 13.12.2011 в 15:17. |
|
13.12.2011, 16:02 | #13 |
северный Будда
|
Цитата:
я ж написал - решение перпендикулярное P.S. Вообще ИМХО раскраска строк - это такой ментальный рудимент работы с Excel.
__________________
С уважением, Вячеслав Последний раз редактировалось pitersky; 13.12.2011 в 16:06. |
|
13.12.2011, 16:11 | #14 |
MCTS
|
Есть еще вариант параллельно-перпендикулярный - использовать display-метод с разными картинками. При правильном выборе картинок визуально работает ничуть не хуже раскрашиваний строк.
А вот такие вот извращения с раскрашиванием грида, учитывая что Аксапта теперь сама очень любит его раскрашивать, лучше делать не стоит.
__________________
Dynamics AX Experience |
|
|
За это сообщение автора поблагодарили: lev (1). |
13.12.2011, 16:18 | #15 |
Ищущий знания...
|
Цитата:
Сообщение от CDR
Есть еще вариант параллельно-перпендикулярный - использовать display-метод с разными картинками. При правильном выборе картинок визуально работает ничуть не хуже раскрашиваний строк.
А вот такие вот извращения с раскрашиванием грида, учитывая что Аксапта теперь сама очень любит его раскрашивать, лучше делать не стоит. Сам вспомнил про этот вариант... В далекие прошлые времена работы с трешкой. у нас в закупках была такая визульная индикация у закупок и заказов, было очень удобно!
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
13.12.2011, 15:12 | #16 |
Участник
|
Цитата:
Сообщение от pitersky
А я бы проблему решал перпендикулярно
Обычно подкрасить строки просят тогда, когда они различаются по условному статусу. При этом статус может определяться и по набору значений (ну например - сумма больше нуля и без даты - хорошо, меньше нуля - плохо, остальные удовлетворительно). В таком случае лучше явно вести новое поле "Статус" и заложить указанную логику в расчёт этого поля. И мы сразу имеем следующие преимущества: 1) По этому полю можно отфильтроваться, отсортироваться и т.д. 2) Нет описанных автором темы проблем с цветом текущей строки 3) Статус в явном виде описывает состояние строки. А цвета надо запоминать. ну и т.д. Проблема в том, что не знаю в каком месте должно производиться ClearDisplayOption или может выполниться что-то другое при выделении строк через Ctrl+A Последний раз редактировалось uchenik; 13.12.2011 в 15:21. |
|
13.12.2011, 15:36 | #17 |
Участник
|
Если в гриде не выключено отображение заголовок строк (ShowRowLabels), то выделение меняет их цвет даже если свойство HighlightActive выключено . У меня в AX2009 так.
Выполнится метод markChanged, если это вам как-то поможет. |
|
13.12.2011, 15:38 | #18 |
Ищущий знания...
|
а может перекрыть метод Task на форме, и отлавливать там событие Ctrl+A, и по нему вызывать ClearDisplayOption?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|