#combobox #axapta #x #dynamics-ax-2009
#выпадающий список #axapta #x #dynamics-ax-2009
Вопрос:
В моем ComboBox
есть такие элементы, как A B C D
и по умолчанию значение находится там, A
где я хочу сделать это как C
что-то вроде comboBox.comboType(2)
в форме инициализации, но, похоже, это не работает. Может ComboBox.selection(2)
помочь, я не уверен, пожалуйста, помогите.
Ответ №1:
Вы можете использовать этот код в init
методе формы после super()
:
ComboBoxName.selection(ComboBoxName::DefaultValue);
Если это поле таблицы, я бы предложил переопределить initValue
метод в таблице:
this.ComboBoxName = ComboBoxName::DefaultValue;
Переопределять initValue
в источнике данных формы, только если это должно быть определенное поведение только в этой форме.
Комментарии:
1. спасибо, я запутался, писать ли код в
init
orinitValue
, но ваш ответ прояснил мои сомнения … спасибо еще раз.2. не могли бы вы, пожалуйста, объяснить причину использования кода после
super()
?3. А также
this.ComboBoxName = ComboBoxName::DefaultValue;
не работает, вместо этого я должен указать имя источника данных, только тогда это работает, почему?4. 1) Если вы попытаетесь использовать его раньше
super()
, вы получите сообщение об ошибке «Объект FormComboBoxControl не инициализирован». 2) «это. ComboBoxName» следует использовать в «Data Dictionary TablesTableNameMethodsinitValue»
Ответ №2:
Все, что я сделал, это переопределил метод initValue формы, которую я написал в виде tableName.ComboBoxName = ComboBoxName::DefaultValue;
И он работает нормально. Поправьте меня, если я ошибаюсь 🙂