![]() |
#1 |
Участник
|
Одновременный хайлайт на 2х гридах
Ситуация такова: на форме 2 дс и 2 грида, так вот хотелось бы, что бы активный рекорд подсвечивался в обоих гридах. Вопрос, небось, ламерский, так что уповаю на снисходительность))
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#2 |
Боец
|
Цитата:
активный рекорд подсвечивался в обоих гридах
Не понял задачу, но перекрываете метод Active() на первом датасорсе, в котором вызываете метод FindRecord второго датасорса. |
|
![]() |
#3 |
Участник
|
Нет, датасеты у них разные. У каждого из этих дс свой активный рекорд.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#4 |
Боец
|
Ну это сути не меняет. Метод active() вызывается всегда когда пользователь переходит на новую строчку таблицы (грида), далее, вызывая метод findRecord 2-го датасорса вы ему "скажете", на какую позицию перепрыгнуть в зав-ти от условий задачи
|
|
![]() |
#5 |
Участник
|
Скажем так, подсвечивать надо именно там, где находится курсор.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#6 |
Участник
|
Если я правильно понял, нужна вот эта настройка
Grid.HighlightActive = Yes |
|
![]() |
#7 |
Участник
|
В общем-то сия опция включена по умолчанию, но хайлайт происходит только на одном из гридов в конкретный момент времени.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#8 |
MCTS
|
А чем не устраивает стандартное поведение?
Я так понимаю аналогом вашей задачи можно считать поведение формы SalesTable Там строка активного грида - синяя, а неактивного - серая
__________________
![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
![]() |
#9 |
Участник
|
Да надо что бы активные строки на обоих гридах одновременно подсвечивались. Это не моя прихоть)))
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#10 |
MCTS
|
Я ж не просто так спрашиваю
Цитата:
что бы активные строки на обоих гридах одновременно подсвечивались
__________________
![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
![]() |
#11 |
Боец
|
Что-то не понимаю, какой Highlight вы имеете ввиду. Вам нужно чтобы курсор второго грида перемещался синхронно с курсором первого грида на определенные записи ?
|
|
![]() |
#12 |
Участник
|
Странный вопрос. Вот я и интересуюсь, можно ли сделать такое.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#13 |
Участник
|
Да нет. Есть один грид, у него есть какой-то активный рекорд, и есть другой грид у него тоже какой-нить активный рекорд. Так вот надо что бы синеньким подсвечивался активный рекорд как на первом гриде, так и активный рекорд на втором гриде, причём одновременно.
__________________
Axapta has seduced me deadly! ![]() |
|
![]() |
#14 |
Боец
|
мды... Это работает по умолчанию, если таблицы в гридах связаны и в свойствах нижнего датасорса правильно установлены типы связки. См. для примера форму SalesTable и в ней датасорсы: SalesTable&SalesLine
|
|
![]() |
#15 |
MCTS
|
Цитата:
вот надо что бы синеньким подсвечивался активный рекорд как на первом гриде, так и активный рекорд на втором гриде, причём одновременно
И уже намекал что такое ммм... Мой совет: объясните своим постановщикам, что они
__________________
![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
![]() |
#16 |
Участник
|
Странная прихоть пользователя.
Один активный рекорд подсвечивается синеньким, а другой не совсем синеньким сделано для удобства пользователя. Чтоб всегда можно было понять, в каком гриде создасться новый рекорд, если нажать Ctrl+N. |
|
![]() |
#17 |
Участник
|
Похоже, что эту "хотелку" все-таки реализовали в AX2009.
Т.е. теперь если на форме есть два грида (например, форма SalesTable) то синим подсвечиваются строки в верхнем и нижнем гриде. Исходя из такого поведения непонятно какой грид сейчас активный. Т.е. неясно, нажав Ctrl+N куда вставится запись. Для однозначности теперь всегда нужно кликать мышкой в нужный грид. Кто-нибудь знает как избавиться от этого нововведения? |
|
![]() |
#18 |
Участник
|
Нашел способ:
Нужно перекрывать в гридах методы lostFocus и mouseDown либо enter (gotFocus работает как-то криво). В lostFocus нужно для грида делать this.highlightActive(false), а при активации this.highlightActive(true). Можно еще попробовать поиграться c цветом активной строки. Т.е. не полностью снимать подсвечивание строки, а просто "засеривать". За это отвечает свойство грида ActiveBackColor. |
|