|
|
#1 |
|
Участник
|
Господа! Помогите начинающему разработчику.
Есть таблица в которой первичный ключ построен по текстовому полю. Необходимо заполнить ComboBox значениями этой таблицы. В дальнейшем по выбранному из ComboBox'a значению будет небходимо построить фильтр по связанной таблице. Спасибо. |
|
|
|
|
#2 |
|
Модератор
|
Создайте свой тип данных. Сделайте "первичный ключ" в таблице имееного этого типа. Потом в этом типе укажите relation с этой таблицей. Заполните Group lookup (желательно). Теперь все элементы, имеюющие этот же тип, будут ссылаться на эту таблицу. Почитайте доку. ключевое слово - relation.
С Уважением, Георгий. |
|
|
|
|
#3 |
|
Участник
|
Спасибо!
Все собственно так и сделано. Вот только свойство DataField ComboBox'a не желает видеть поля основанные на String. Или я что-тто не так понимаю? |
|
|
|
|
#4 |
|
Участник
|
Это должен быть не комбобокс а обычный стрингедит
комбобокс видит только поля с типом Енум |
|
|
|
|
#5 |
|
Участник
|
Спасибо!
Понял. Но мне-то надо надо что-бы на экране у пользователя отображался ComboBox с заполненными из таблицы значениями. Можно ли такое сделать не используя собственно ComboBox? |
|
|
|
|
#6 |
|
Участник
|
Создаешь на форме StringEdit, и в качестве ExtendedDataType указываешь ранее созданный тобой EDT в котором прописан Relation к нужной таблице. Свойство DataField вообще заполнять не надо.
|
|
|
|
|
#7 |
|
Участник
|
Спасибо! Все заработало.
|
|
|
|
|
#8 |
|
Участник
|
Цитата:
Сообщение от Владимир Максимов
Создаешь на форме StringEdit, и в качестве ExtendedDataType указываешь ранее созданный тобой EDT в котором прописан Relation к нужной таблице. Свойство DataField вообще заполнять не надо.
Таким способом все работает, но при открытии формы StringEdit остается пустым до тех пор, пока вручную не выберешь значение из списка. Скажите, пожалуйста, как можно сделать некое "значение по-умолчанию". Т.е. чтобы при открытии формы сразу было выбрано, например, первое значение?Заранее спасибо за ответы! |
|
|
|
|
#9 |
|
Участник
|
В ините формы делаете примерно следующее
X++: public void init() { FormStringControl control; InventTable it; ; super(); control = this.design().control(control::StringEdit); select firstonly it; control.text(it.ItemId); }
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|
|
#10 |
|
Участник
|
Спасибо за ответ! Я почему-то думал, что у StringEdit'а где-то есть массив этих значений и пытался найти его
))
|
|
|