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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.09.2005, 12:16   #1  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
значение checkBox
Есть в таблице Table поле Field1 - булевское - от EDT: NoYesID
В форме где эта таблица явл-ся одним из источников данных, выводим это поле на одной из закладок (не в гриде) получаем checkBox . ставим AllowDeclaration = Yes. Хочу, чтобы доступность другого контрола(Control1) в гриде, зависела от того, стоит галка в checkBox или нет.
В методе active этого DS . Пишем :
Control1.allowEdit(CheckBox.Value()) - но так не работает ((((
Control1.allowEdit(Table.Field1) - а так работает.

Почему? Причем , вариации типа :
Control1.allowEdit(CheckBox.Value() == NoYes::Yes) или
Control1.allowEdit(enum2str(CheckBox.Value() ))

тоже не прокатывают.
Судя по formControlValue значение checkBox берется именно с помощью Value().
Старый 08.09.2005, 12:30   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
1) Правильнее завязываться на данный из таблицы, а не контролы.
2) После "super()" делаете или до?

С Уважением,
Георгий
Старый 08.09.2005, 12:32   #3  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
enum2str - стормозила, не из этой оперы, тип возвр значения тут не подходит
Старый 08.09.2005, 12:32   #4  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
после супер.
Старый 08.09.2005, 12:37   #5  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм. Не совсем понял задачу. Я бы как раз ориентировался на значение в таблице.
Control1.allowEdit(Table.Field1)
Плюс перекрыл бы clicked контрола и добавил бы разрешение / запрет там.

C Уважением,
Георгий
Старый 08.09.2005, 12:37   #6  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
2George:
Спасию за совет, но вопрос сразу возник:
Чем данные из таблицы лучше? Тем что , если устновлено DelayActive =yes . то в контролах не самые актуальные значения? или есть еще кие-нить причины, не связанные с обновлениями значений в контролах (хотя видимо, первого аргумента уже достаточно)?
Старый 08.09.2005, 12:40   #7  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Видимо, вы правы, тк этот checkBox расположен не на первой закладке, то его значение не иниц-но на момент active, поэтому и не срабатывает проверка.

Спасибо.
Старый 08.09.2005, 12:41   #8  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Цитата:
Изначально опубликовано kitty
Чем данные из таблицы лучше? Тем что , если устновлено DelayActive =yes . то в контролах не самые актуальные значения?
Это как это? Мне казалось, active отрабатывает, как только данные актуализированны. Если приведете обратный пример, буду крайне поражен
Старый 08.09.2005, 13:16   #9  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Вы что подразумеваете под актуализацией данных?
Старый 08.09.2005, 13:41   #10  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Active отработает, когда данные из таблицы подтянуться и будут акткальными.

С Уважением,
Георгий
Старый 08.09.2005, 13:47   #11  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Ок, но почему значения в контролах не такие так в таблице (возвращаясь к subj)? почему предпочтительно брать значения из таблиц, а не контролов, если мои предположения на этот счет вы опровергаете,то скажите как есть на самом деле?
Старый 08.09.2005, 13:57   #12  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Контрол - это средство ОТОБРАЖЕНИЯ значений в талице.
Значение в таблице - это АКСИОМА, т.е. истинное состояние данных.
Изменение контрола может НЕ ОТОБРАЗИТЬСЯ на данных в таблице. (допустим, нажали F5 или ESC). Поэтому надо смотреть только на таблицу - мой совет.

С Уважением,
Георгий.
Старый 08.09.2005, 14:22   #13  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Цитата:
Изначально опубликовано George Nordic

Это как это? Мне казалось, active отрабатывает, как только данные актуализированны. Если приведете обратный пример, буду крайне поражен
То, что данные актуализированы, далеко не означает то, что контролы ими заполнены. Поэтому мне не понятен ваш пост .
Тем более, что в моем случае открывается форма и никаких посторонних действии помимо перемещения по записям над ней не производтся, поэтому все эти F5 Esc и тд тут ни при чем.
То, что так не работает было ясно изначально (см subj) вопрос был почему. Тк если случай более тяжелый и к контролу не привязан DS, то что делать, как получить значение из контрола, если его значениям доверять нельзя? Но раз единственный ответ на почему это "делайть лучше так", то тему прежлагаю закрыть.


Спасибо George.
Старый 08.09.2005, 14:36   #14  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Eсли перейти на форме закладку с установленным значением в checkBox = true, а потом вернуться на первую закладку (там грид) и начать по гриду передвигаться по строкам,то при выводе в инфолог значения checkBox оно меняться не будет, то есть не смотря на то, что передвигаюсь по записям у которых значение поля = false, выводится true до тех пор пока не зайду на другой записи на закладку с checkBox.
Старый 08.09.2005, 14:58   #15  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Не понял? Вот поэтому я и говорю, что контролам нельзя доверять. А попробуйте сделать Info(Таблица.Поле) и пробежаться по строкам.
Что, я неправ?
Старый 08.09.2005, 15:28   #16  
xonix is offline
xonix
Участник
 
360 / 11 (1) +
Регистрация: 25.08.2004
Не, ну что непонятно?
Не актуализирует аксапта элементы визуализации, если они не видны. Экономит ресурсы, так сказать.
В чём проблема то?
Анекдот знаете? "Доктор, я когда спину левой рукой через правое ухо чешу, у меня вот тут колет.... - Ну так не чешите!... -Ой, доктор, помогло. Спасибо."
Старый 08.09.2005, 17:01   #17  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Изначально опубликовано kitty
То, что так не работает было ясно изначально (см subj) вопрос был почему.
Тк если случай более тяжелый и к контролу не привязан DS, то что делать, как получить значение из контрола, если его значениям доверять нельзя?
Если DS (или display метод) не привязан , то проблема вообще отпадает, поскольку перемещение по записям в этом случае никак не приведет к изменению значения контрола (независимо от того, на какой он вкладке находится). То есть значение CheckBox.Value() изменится либо в результате действий пользователя, либо программно. В обоих случаях Control1.allowEdit(CheckBox.Value()) гарантированно сработает.
А на вопрос "почему" Вам правильно ответил xonix - зачем тратить время на обработку невидимых контролов?
__________________
Теги
актуализация данных, как правильно, форма, элемент

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
checkbox in grid Breeze DAX: Программирование 9 22.06.2007 16:44
jerry-dynamics: checkbox Locked in Journal Blog bot DAX Blogs 0 16.06.2007 11:20
Значение Checkbox cherv DAX: Программирование 4 27.07.2006 17:37
Как при вводе новой записи установить значение поля по умолчанию Zman DAX: Программирование 3 17.01.2005 10:23
Значение по умолчанию в таблице bocman DAX: Программирование 4 15.08.2003 16:20

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

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

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