Загрузка изображения в столбец Table

Добрый вечер
Подскажите, как загрузить изображение в отдельный столбец в Table с компьютера, через кнопку Загрузить, расположенной в Edit?

Добрый день.

Для отображения изображений удобно использовать компонент Image. В приложении Sampler можно посмотреть на него в действии.

Глеб

1 симпатия

Тогда я смогу выбирать нужное мне изображение с компьютера?

Не могли бы Вы подробнее описать задачу? И сообщения выше сложилось впечатление, что Вы загружаете изображение в экране редактирования и нужно отобразить его на экране просмотра в таблице.

Глеб

Да, именно это мне и нужно

В таком случае, не могли бы Вы подробнее описать, что в данный момент не получилось/не работает?

Как отобразить изображение в таблице, я описал выше, а загрузка в экране редактирования делается через FileUpload, который по умолчанию генерируется для полей сущности с типом FileDescriptor.

Глеб

Я просто не знаю с чего начать
А как отображать изображения Вы мне объяснили

Вам нужно добавить сущности поле типа FileDescriptor, например:

42

Studio в экране редактирования сгенерирует поле типа upload:

<form id="form" dataContainer="newEntityDc">
    <column width="250px">
...
        <upload id="imageField" fileStoragePutMode="IMMEDIATE" property="image" showFileName="true"/>
    </column>
</form>

В экране просмотра необходимо создать генерируемую колонку, как показано в примере выше, например:

@Inject
private UiComponents uiComponents;

@Install(to = "newEntitiesTable.image", subject = "columnGenerator")
private Component newEntitiesTableImageColumnGenerator(NewEntity entity) {
    Image image = uiComponents.create(Image.NAME);
    image.setHeight("40px");
    image.setScaleMode(Image.ScaleMode.SCALE_DOWN);
    image.setSource(FileDescriptorResource.class)
            .setFileDescriptor(entity.getImage());
    return image;
}

Дополнительно можно прочитать следующую статью: https://www.cuba-platform.com/guides/working-with-images

Глеб

В сервере выдает ошибку на newEntitiesTableImageColumnGenerator, что якобы не можете найти @Install target.

Проверьте, что значение параметра to имеет формат <table_id>.<fileDescriptor_attribute_name>.

А где можно посмотреть это?

И подскажите, пожалуйста, как реализовать поиск в окне просмотра не пользуясь фильтром.
Если не трудно, распишите подробно.

id таблицы можно найти в дескрипторе экрана (XML). Имя атрибута Вы придумываете сами, когда создаете сущность.

Добрый вечер
Всё настроено правильно, но ошибка все равно осталась.

Не могли бы Вы приложить демо проект или, хотя бы, код контроллера и дескриптора экрана?

image

image

Вы прислали дескриптор edit экрана и контроллер экрана просмотра. Я так не могу определить, правильно ли вы подключаете генерируемую колонку к таблице. Прикрепите пожалуйста дескриптор и контроллер экрана просмотра.

image

Не могли бы Вы прислать полный дескриптор экрана. И лучше присылать код в виде текста обернутого тройными обратными косыми чертами (```), а не скриншотами, так как это затрудняет работу с ним.