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