|
![]() |
#1 |
Участник
|
![]()
Добрый день.
Пытаюсь программно добавить контрол на форму, вызываю следующий код после super в init на форме: X++: FormWindowControl ctrlImage; ; ctrlImage = groupImageList.addControl(FormControlType::Image, 'Image'); ctrlImage.dataSource(ItemImage_ds.id()); ctrlImage.dataField(fieldNum(ItemImage, Image)); ctrlImage.widthMode(FormWidth::ColumnWidth); ctrlImage.heightMode(FormHeight::ColumnHeight); Если контрол добавить через AOT и выставить dataSource и dataField, то картинка отрисовывается корректно. Если программно создать форму с этим контролом, то картинка отображается. Вопрос: Что нужно еще сделать, чтобы на форме начала отображаться картинка? если мы контрол добавляем программно. AXAPTA 2009 |
|
![]() |
#2 |
Участник
|
Заведите десяток invisible контролов. Когда надо можно сделать visible, поменять прочие свойства. Порядок следования тоже можно менять вызовом move()
Изврат, но чего не сделаешь. |
|
![]() |
#3 |
Участник
|
Не проверял. Предположение. Разные команды обновления не пробовали? Ну, на вскидку
ctrlImage.visible(true); ItemImage_ds.reread(); ItemImage_ds.refresh(); element.redraw(); Возможно, поможет еще сделать саму форму невидимой, добавить объект, затем отобразить форму
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#4 |
Участник
|
Я бы сначала попробовал заполучить картинку в объект image = new Image(), а потом передать его контролу: ctrlImage.image(image).
Ну и поигрался с методами colorScheme и backgroundColor. Еще смущают методы widthMode и heightMode, попробуйте выставить изначально конкретные размеры widthValue(32), heightValue(32). |
|
![]() |
#5 |
Участник
|
Цитата:
|
|
![]() |
#6 |
Участник
|
Проверил вашу форму в ax2012 r3, у меня работает ваш код(и для типа поля контейнер и для типа поле числовой), т.е. картинка отображается, а у вас точно не отображается? Просто судя по скрину размер контрола, который видно в гриде существенно меньше самого рисунка, не может быть так что там есть отображение но только левый крайний угол картинки, при запуске формы вот так у меня(см. скриншот).
Но если например сделать вот так X++: ctrlImage.width(200); ctrlImage.height(200); X++: ctrlImage.image().resize(32,32, InterpolationMode::InterpolationModeBicubic);
__________________
Sergey Nefedov |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от SRF
![]() Проверил вашу форму в ax2012 r3, у меня работает ваш код(и для типа поля контейнер и для типа поле числовой), т.е. картинка отображается, а у вас точно не отображается? Просто судя по скрину размер контрола, который видно в гриде существенно меньше самого рисунка, не может быть так что там есть отображение но только левый крайний угол картинки, при запуске формы вот так у меня(см. скриншот).
Но если например сделать вот так X++: ctrlImage.width(200); ctrlImage.height(200); X++: ctrlImage.image().resize(32,32, InterpolationMode::InterpolationModeBicubic); |
|
![]() |
#8 |
Участник
|
Если я правильно понял автора - там проблема воспроизводится именно в связке с датасорсом.
|
|
|
За это сообщение автора поблагодарили: demianimp (3). |
![]() |
#9 |
NavAx
|
Ткну пальцем в небо: когда програмно добавлено, то размер контрола 0 на 0.
|
|
![]() |
#10 |
Участник
|
Прикладываю картинку, чтобы было понятно что происходит.
Верхняя часть добавляется программно, нижнею часть добавил через AOT. |
|
![]() |
#11 |
Участник
|
Можете проект выложить?
__________________
Ivanhoe as is.. |
|
![]() |
#12 |
Участник
|
Выкладываю форму.
\Forms\FormItemImageTest\Data Sources\ItemImage - нужно указать таблицу, где есть картинка; \Forms\FormItemImageTest\Designs\Design\Window:AotImage - указать поле с картинкой; \Forms\FormItemImageTest\Methods\init - указать таблицу и поле, где находится картинка. |
|
![]() |
#13 |
Участник
|
Если вместо
X++: ctrlImage.dataSource(ItemImage_ds.id());
ctrlImage.dataField(fieldNum(ItemImage, Image)); X++: ctrlImage.imageResource(412); |
|
![]() |
#14 |
Участник
|
нашли решение
Нужно было делать через X++: groupImageList.addDataField(ItemImage_ds.id(), fieldNum(ItemImage, Image)); |
|
|
За это сообщение автора поблагодарили: Logger (3), Raven Melancholic (5). |
Теги |
adddatafield, ax2009, formwindowcontrol, image |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|