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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.01.2014, 11:14   #1  
VBF is offline
VBF
Участник
Аватар для VBF
 
65 / 17 (1) ++
Регистрация: 19.05.2003
Адрес: Москва
Управление на форме атрибутами поля из табличной группы программно
Всем привет.

Ax 4.

Табличная группа на форме сразу имеет на всех полях по умолчанию признак "AutoDeclaration=No". Как можно управлять программно атрибутами поля и метки (интересует шрифт, цвет, стиль шрифта), если можно, конечно?.
Как управлять видимостью или разрешением на редактирование через поле Датасоурса я знаю (что-то типа этого):
PHP код:
CompanyInfo_ds.object(fieldNum(CompanyInfoKPPU_RU)).allowEdit(false); 
Изменять значение признака "AutoDataGroup" на "No" с последующей установкой признака "AutoDeclaration" в "Yes" на поле мне не кажется правильным, группа может быть задействована во многих местах и не хочется терять автоматическое добавление полей при добавлении нового поля в табличную группу.

Перебирать все контролы группы в цикле в поисках нужного а потом работать с ним - как-то то же "моветон". Может кто-нибудь знает другие способы?

Заранее спасибо,

Валерий
Старый 20.01.2014, 12:11   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Обломинго - весьма распространенный вид птиц в Axapta
Пустая затея.
Скажем так, что даже перебирая контролы - ничего не добъетесь.
Базовый класс FormControl, объектами которого можно добираться до каждого контрола в дизайне формы, ничего не знает о типе конкретного контрола и его привязке к конкретному датасорсу и полю. Радости детских раскрасок в виде атрибутов шрифта у самого контрола и его метки через объект данного типа также недоступны.
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 20.01.2014, 12:54   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Для AX4 ещё можно через енум Control. Для AX2012 уже нет.

Почему метод "control::control_name" возвращает null?
За это сообщение автора поблагодарили: VBF (1).
Старый 20.01.2014, 12:59   #4  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
я ни разу не видел, что бы кто-то хотел поменять шрифт или цвет в аксапте, но не вижу проблемы - должно работать.
в AX4 вроде до контрола можно попробовать добраться через Control::Name
или перебором, ну а потом кастануть его до нужного типа, если надо
Старый 20.01.2014, 13:11   #5  
VBF is offline
VBF
Участник
Аватар для VBF
 
65 / 17 (1) ++
Регистрация: 19.05.2003
Адрес: Москва
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Для AX4 ещё можно через енум Control. Для AX2012 уже нет.
Спасибо. Вряд ли мы на 2012 переползем в обозримом будущем, но все-таки...

Придется поле в группе давить и добавлять поле вне группы, а уж с ним изгаляться. Не забыть только логику с поля, если есть, перенести на новое... Буду думать, стоит оно того или ну его...

Последний раз редактировалось VBF; 20.01.2014 в 13:13.
Старый 20.01.2014, 13:31   #6  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
ну-ну, сначала понапишут разносок всяких в методах контролов ворм, а потом говорят - Аксапта глючное тормозное говно
http://msdn.microsoft.com/en-us/library/aa849024.aspx
За это сообщение автора поблагодарили: VBF (0).
Старый 20.01.2014, 13:33   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
В похожих задачах помогает механизм:
Итератор с поддержкой методов обратного вызова для обработки контролов на форме
Возможно, что и в данном случае это поможет.
За это сообщение автора поблагодарили: VBF (1).
Старый 20.01.2014, 13:54   #8  
VBF is offline
VBF
Участник
Аватар для VBF
 
65 / 17 (1) ++
Регистрация: 19.05.2003
Адрес: Москва
Цитата:
Сообщение от lvan Посмотреть сообщение
ну-ну, сначала понапишут разносок всяких в методах контролов ворм, а потом говорят - Аксапта глючное тормозное говно
http://msdn.microsoft.com/en-us/library/aa849024.aspx
Кто бы еще это объяснил создателям функционала "Расчеты с персоналом", особенно тем, кто делал Кадры. Там до пенсии можно выковыривать код из форм
Старый 20.01.2014, 13:56   #9  
VBF is offline
VBF
Участник
Аватар для VBF
 
65 / 17 (1) ++
Регистрация: 19.05.2003
Адрес: Москва
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
В похожих задачах помогает механизм:
Итератор с поддержкой методов обратного вызова для обработки контролов на форме
Возможно, что и в данном случае это поможет.
Спасибо, потестирую, на вскидку, то, что нужно
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отображение таблицы в новой форме форме DAsm DAX: Программирование 23 04.03.2011 21:50
Как правильно связать таблицы в форме? Как показать параметры партии? mazzy DAX: Программирование 10 27.10.2010 15:56
Не отображаются значения поля на форме InventTable Ulyxess DAX: Программирование 17 07.04.2010 13:27
Управление изменением записей на форме. pwp DAX: Программирование 28 04.02.2010 16:00
Как удалить программно в форме элементы из группы mick_777 DAX: Программирование 2 09.09.2002 17:27

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

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

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