Как динамически загрузить изображение в картинку в быстром отчете?
У меня есть таблица в Sql, которая имеет 2 столбца, содержащих заголовок и адрес изображений, связанных с этим заголовком, как показано ниже: Адрес заголовка
194003 ~/viewerImages/1903-01-1-5-0-6-00143.jpg
194003 ~/viewerImages/1903-01-1-5-0-6-00161.jpg
194003 ~/viewerImages/1903-01-1-5-0-6-00190.jpg
194012 ~/viewerImages/1903-01-1-5-0-6-00143.jpg
194012 ~/viewerImages/1903-01-1-5-0-7-00141.jpg
194012 ~/viewerImages/1903-01-1-5-0-7-00160.jpg
194015 ~/viewerImages/1903-01-1-5-0-7-00180.jpg
194015 ~/viewerImages/1903-01-1-5-0-8-00159.jpg
194015 ~/viewerImages/1903-01-1-5-0-8-00184.jpg
Я хочу загружать эти изображения динамически в fastreport для каждого заголовка. что я должен делать?
1 ответ
Одним из решений является создание объекта с некоторыми свойствами, которые являются изображениями для загрузки (image1, image2, image3). Вы также добавляете больше свойств с данными, которые вы хотите распечатать в отчете. Затем вы можете загружать информацию в объект динамически и после отправки объекта в отчет, чтобы быстрые отчеты печатали информацию, которую вы загружаете в объект. Таким образом, вы можете делать то, что хотите динамически. Для свойств изображения вы можете использовать тип Image или byte[].
Чтобы создать отчет:
var report = new Report();
report.Load(Constants.Paths.ReportFolder + "Return.frx");
report.RegisterData(myObject, "Name");
report.Design(); // if you want to open the designer before to print
report.Show();
Примечание: регистрируемый объект должен быть набором объектов. В этом случае myObject будет списком. Если вы хотите зарегистрировать один объект, вы можете сделать это следующим образом:
report.RegisterData (new List {myObject}), "Имя");
В конструкторе вы можете получить доступ ко всем свойствам.