AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.12.2011, 13:38   #1  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Как имитировать подсветку активной строки/строк?
При подкрашивании строк грида, подсветка активной строки мешает, если отключить. то не видно что выбрано.

Кто-нибудь делал вручную подсветку активных строк?

Через DS.refresh, в котором вызывается ClearDisplayOptions, для небольших наборов записи работает сносно. А вот при выделении всех строк через Ctrl+A выбранные строки не подсвечиваются.

Подсвечиваются если выбрать перед этим одну из острок грида и успеть нажать Ctrl+A если аксапта тормозит или если после Ctrl+A кликнуть на свободное место в форме.

Что дернуть нужно, чтобы нормально срабатывало?
Старый 13.12.2011, 13:46   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от uchenik Посмотреть сообщение
при выделении всех строк через Ctrl+A выбранные строки не подсвечиваются.

Подсвечиваются если выбрать перед этим одну из острок грида и успеть нажать Ctrl+A если аксапта тормозит или если после Ctrl+A кликнуть на свободное место в форме.
При помощи метода formDataSource.defaultMark() можно определить факт выбора всех строк. Можно попробовать учесть это при раскраске.
Старый 13.12.2011, 13:48   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от uchenik Посмотреть сообщение
При подкрашивании строк грида, подсветка активной строки мешает, если отключить. то не видно что выбрано.

Кто-нибудь делал вручную подсветку активных строк?

Через DS.refresh, в котором вызывается ClearDisplayOptions, для небольших наборов записи работает сносно. А вот при выделении всех строк через Ctrl+A выбранные строки не подсвечиваются.

Подсвечиваются если выбрать перед этим одну из острок грида и успеть нажать Ctrl+A если аксапта тормозит или если после Ctrl+A кликнуть на свободное место в форме.

Что дернуть нужно, чтобы нормально срабатывало?
Не очень понятна задача. Что Вы хотите сделать то?
Что бы при позиционировании на строке, которая подсвечена каким либо цветом, подсвечивание пропадало? Или что?

Ещё не совсем понятно, зачем делали подсветку строки, если эта подсветка мешает?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 13.12.2011, 14:01   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Правильно ли я понимаю, что когда Вы встаете на строку, она выделяется синим цветом (активный курсор), и за ним не видно, в какой цвет окрашена строка (то что через DisplayOption)?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 13.12.2011, 14:15   #5  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Цитата:
Сообщение от lev Посмотреть сообщение
Правильно ли я понимаю, что когда Вы встаете на строку, она выделяется синим цветом (активный курсор), и за ним не видно, в какой цвет окрашена строка (то что через DisplayOption)?
Совершенно верно.

Для обхода этого отключил стандартную подсветку строк и крашу в другой оттенок.
Старый 13.12.2011, 14:16   #6  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
При помощи метода formDataSource.defaultMark() можно определить факт выбора всех строк. Можно попробовать учесть это при раскраске.
Можно подробнее?
Старый 13.12.2011, 14:28   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
каким образом вы сейчас определяете что строка активна?
Старый 13.12.2011, 14:35   #8  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
По курсору.

Выбранные по GetFirst(1)
Старый 13.12.2011, 14:53   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Перед тем как начинать искать раскрашиваемую запись в списке выделенных проверьте при помощи метода defaultMark, возможно выделены все записи и тогда перебор уже не нужен.
Старый 13.12.2011, 15:01   #10  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
А я бы проблему решал перпендикулярно

Обычно подкрасить строки просят тогда, когда они различаются по условному статусу. При этом статус может определяться и по набору значений (ну например - сумма больше нуля и без даты - хорошо, меньше нуля - плохо, остальные удовлетворительно). В таком случае лучше явно вести новое поле "Статус" и заложить указанную логику в расчёт этого поля. И мы сразу имеем следующие преимущества:
1) По этому полю можно отфильтроваться, отсортироваться и т.д.
2) Нет описанных автором темы проблем с цветом текущей строки
3) Статус в явном виде описывает состояние строки. А цвета надо запоминать.
ну и т.д.
__________________
С уважением,
Вячеслав
Старый 13.12.2011, 15:08   #11  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Перед тем как начинать искать раскрашиваемую запись в списке выделенных проверьте при помощи метода defaultMark, возможно выделены все записи и тогда перебор уже не нужен.
Спасибо, но при Ctrl+A не помогает
Старый 13.12.2011, 15:11   #12  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от pitersky Посмотреть сообщение
А я бы проблему решал перпендикулярно
Как это решает проблему топикстартера "При подкрашивании строк грида, подсветка активной строки мешает"

Или вы предлагаете вообще отказаться от раскраски?

Последний раз редактировалось S.Kuskov; 13.12.2011 в 15:17.
Старый 13.12.2011, 15:12   #13  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Цитата:
Сообщение от pitersky Посмотреть сообщение
А я бы проблему решал перпендикулярно

Обычно подкрасить строки просят тогда, когда они различаются по условному статусу. При этом статус может определяться и по набору значений (ну например - сумма больше нуля и без даты - хорошо, меньше нуля - плохо, остальные удовлетворительно). В таком случае лучше явно вести новое поле "Статус" и заложить указанную логику в расчёт этого поля. И мы сразу имеем следующие преимущества:
1) По этому полю можно отфильтроваться, отсортироваться и т.д.
2) Нет описанных автором темы проблем с цветом текущей строки
3) Статус в явном виде описывает состояние строки. А цвета надо запоминать.
ну и т.д.
2) как это нет? (ПОНЯЛ, но нужен цвет ) если отключить стандартную подсветку нет, но и не видно что выбрано в гриде.

Проблема в том, что не знаю в каком месте должно производиться ClearDisplayOption или может выполниться что-то другое при выделении строк через Ctrl+A

Последний раз редактировалось uchenik; 13.12.2011 в 15:21.
Старый 13.12.2011, 15:36   #14  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от uchenik Посмотреть сообщение
не видно что выбрано в гриде.
Если в гриде не выключено отображение заголовок строк (ShowRowLabels), то выделение меняет их цвет даже если свойство HighlightActive выключено . У меня в AX2009 так.
Цитата:
Сообщение от uchenik Посмотреть сообщение
Проблема в том, что не знаю в каком месте должно производиться ClearDisplayOption или может выполниться что-то другое при выделении строк через Ctrl+A
Выполнится метод markChanged, если это вам как-то поможет.
Старый 13.12.2011, 15:38   #15  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от uchenik Посмотреть сообщение
2) как это нет? если отключить стандартную подсветку нет, но и не видно что выбрано в гриде.

Проблема в том, что не знаю в каком месте должно производиться ClearDisplayOption или может выполниться что-то другое при выделении строк через Ctrl+A
а может перекрыть метод Task на форме, и отлавливать там событие Ctrl+A, и по нему вызывать ClearDisplayOption?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 13.12.2011, 16:02   #16  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Или вы предлагаете вообще отказаться от раскраски?
Цитата:
Сообщение от uchenik Посмотреть сообщение
2) как это нет? (ПОНЯЛ, но нужен цвет ) если отключить стандартную подсветку нет, но и не видно что выбрано в гриде.
вообще отказаться. а текущую строку подсвечивать стандартно
я ж написал - решение перпендикулярное

P.S. Вообще ИМХО раскраска строк - это такой ментальный рудимент работы с Excel.
__________________
С уважением,
Вячеслав

Последний раз редактировалось pitersky; 13.12.2011 в 16:06.
Старый 13.12.2011, 16:11   #17  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Есть еще вариант параллельно-перпендикулярный - использовать display-метод с разными картинками. При правильном выборе картинок визуально работает ничуть не хуже раскрашиваний строк.

А вот такие вот извращения с раскрашиванием грида, учитывая что Аксапта теперь сама очень любит его раскрашивать, лучше делать не стоит.
__________________
Dynamics AX Experience
За это сообщение автора поблагодарили: lev (1).
Старый 13.12.2011, 16:18   #18  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от CDR Посмотреть сообщение
Есть еще вариант параллельно-перпендикулярный - использовать display-метод с разными картинками. При правильном выборе картинок визуально работает ничуть не хуже раскрашиваний строк.

А вот такие вот извращения с раскрашиванием грида, учитывая что Аксапта теперь сама очень любит его раскрашивать, лучше делать не стоит.
Ага!
Сам вспомнил про этот вариант...
В далекие прошлые времена работы с трешкой. у нас в закупках была такая визульная индикация у закупок и заказов, было очень удобно!
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
При создании строки в закупке статус строки становится "Отменено" AlexUnik DAX: Функционал 4 27.09.2004 16:05
ИТОГИ для строк финансовых отчетов AlexR DAX: Программирование 2 31.05.2004 12:00
программное создание строк заказа renat DAX: Программирование 6 22.07.2003 05:05
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:03.