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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2002, 16:57   #1  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
? Определить текущий DataSource
Hi all!
Подскажите, как определить, на каком DataSource в форме установлен фокус? Или отследить перемещение курсора с одного датасоурса на другой?
Пример: на форме 2 DS с гридами, при нахождении фокуса в одном из них кнопку надо сделать недоступной, в другом - доступной.
Спасибо.
__________________
Андрей.
Старый 21.10.2002, 17:09   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Такие фокусы обычно делаются на .active() обоих источников данных.
А вообще говоря - FormRun.dataSource() (см. класс EmplTableCall_RU в SP4).
Старый 21.10.2002, 17:22   #3  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
active() при перемещении между датасоурсами не вызывается, проверено.
__________________
Андрей.
Старый 22.10.2002, 09:45   #4  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Для решения такой задачи, возможно, подойдут методы на Grid-ах gotFocus(), leave(), lostFocus()
Старый 22.10.2002, 10:28   #5  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Т.е. без привязки к контролам (например, событиями на datasource) эту задачу не решить? Печально Но ведь система как-то распознает, когда ей разрешать или запрещать кнопки "новая запись", "удаление" в тулбаре?
__________________
Андрей.
Старый 22.10.2002, 11:02   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Метод formRun.dataSource() возвращает активный DS, вопрос только в том на какое событие повесить проверку.
Цитата:
Но ведь система как-то распознает, когда ей разрешать или запрещать кнопки "новая запись", "удаление" в тулбаре
Система, явно, может обработать больше событий, чем доступно из X++
Старый 25.10.2002, 17:50   #7  
SIRS is offline
SIRS
Участник
 
14 / 10 (1) +
Регистрация: 05.09.2002
Адрес: Москва
Active() вызывается при перемещении по записям одного датасорса.
Старый 28.10.2002, 10:53   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Попробуйте cursorNotify().

Еще некоторую свободу власти можно получить, указав dataSource для кнопки. Не могу точно сказать вам, как это использовать, так как не знаю вашу задачу, но это как поле для изысканий.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 28.10.2002, 11:03   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Кстати, из User's guide on Axapta Development:
Цитата:
Методы источника данных формы (FormDataSource) в AOT
. . .
Leave() - Перемещение фокуса из источника данных, например при выходе из формы.
Но никто не гарантирует, что оно работает.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 28.10.2002, 11:42   #10  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
:(
К моему огорчению, ни cursorNotify(), ни leave() не вызываются при переходе между датасорсами (оба срабатывают по типу active()).
__________________
Андрей.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как определить факт изменения текущей строки DataSource формы Владимир Максимов DAX: Программирование 6 20.11.2008 16:24
Как определить, что метода DataSource одной формы была вызвана??? Dima_Dima DAX: Программирование 7 30.10.2008 18:17
Обновление таблицы в DataSource при ее изменении Андре DAX: База знаний и проекты 7 22.04.2008 13:16
Заполнение DataSource из постоянной и временной таблиц m_ax DAX: Программирование 2 21.06.2007 13:08
Грид и поле в строке, не связанное с DataSource NataLee DAX: Программирование 2 26.01.2004 17:02

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

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

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