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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.10.2012, 10:26   #1  
BokarevSS is offline
BokarevSS
Участник
 
63 / 12 (1) ++
Регистрация: 13.01.2009
Visible кнопки
При изменении свойства visible у кнопки, по задумке она должна показываться если chekbox выбран, а при снятии отметки кнопка должна скрываться. Меняю свойство Visible, затем вызываю метод update(), и ничего не происходит. Пытался делать redraw формы, тоже не помогло. Помогите разобраться.
Старый 17.10.2012, 11:02   #2  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,508 / 432 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
вам же сказали уже - надо вызывать active на нужном датасоурсе
__________________
С уважением,
Вячеслав
Старый 17.10.2012, 11:21   #3  
BokarevSS is offline
BokarevSS
Участник
 
63 / 12 (1) ++
Регистрация: 13.01.2009
Да, за помощь я благодарен. И вызываю aktive на Datasource, вот в обработке я и столкнулся с проблемой что у меня кнопка не перерисовывается. В этом и заключается мой вопрос.
Старый 17.10.2012, 11:36   #4  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,508 / 432 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
ну так вызовите active в процессе обработки
__________________
С уважением,
Вячеслав
Старый 17.10.2012, 15:17   #5  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Общая схема работы должна быть примерно такая

1. Создается свой собственный метод формы в котором на основе текущего значения поля таблицы (которое отображается в CheckBox) кнопка делается либо видимой, либо нет

X++:
myButton.visible(MyTable.MyField == NoYes::Yes ? true : false);
Обратите внимание, что менять значение надо всегда. Вне зависимости от значения CheckBox.

В качестве условия, разумеется, можно проверять значение CheckBox (объекта формы), а не поле таблицы-источника. Это уже зависит от постановки задачи

2. В методе DataSource MyTable.active() делаете вызов этого своего метода после super()

3. В методе CheckBox.modified() после super() делаете вызов своего метода. Без вызова active() DataSource.

Идея заключается в том, что метод active() на DataSource, кроме собственно выполнения Вашего метода делает еще кое-что свое и это "свое" может вносить "помехи" в работу функционала. Поэтому выделение метода активации кнопок в отдельный метод позволяет разделить Ваши дейтсвия и дейтсвия системы.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: BokarevSS (1), kpoxa (0).
Старый 17.10.2012, 15:45   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
В ряде случаев, если не требуется больше выполнять никаких операций с другими полями той же строки полсле установки/снятия галки, строку можно сразу же вывести из состояния редактирования и сохранить сделанные изменения в БД.

Т.е. в методе modified() поля датасурса отвечающего за галку нужно вызвать метод write() датасурса. Событие active() после этого выполниться автоматически.
За это сообщение автора поблагодарили: BokarevSS (1).
Теги
как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Серые кнопки. Изначально неверное решение. ta_and DAX: Функционал 46 29.07.2024 15:21
SysDictField.visible() возвращает неверное значение nano3 DAX: Программирование 5 02.03.2020 18:57
Активация/деактивация кнопки ToolBara Kaermo DAX: Программирование 5 23.07.2009 16:39
Visible для FormListItem petr DAX: Программирование 3 30.09.2008 11:03
как в табличном методе "узнать" о нажатии определенной кнопки на форме Zeppelin DAX: Программирование 12 08.11.2007 20:47

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

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

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