Member 13742359 Ответов: 1

Не отображается изображение столбца из моего datagridview в crystal report in VB.NET


- мой код таков:
Dim dt As New DataTable
        With dt
            .Columns.Add("ID")
            .Columns.Add("SpoReport")
            .Columns.Add("PersonInvolved")
            .Columns.Add("NatureofIncident")
            .Columns.Add("LocationofIncident")
            .Columns.Add("DateandTime")
            .Columns.Add("HomeAddress")
            .Columns.Add("Birthdate")
            .Columns.Add("Age")
            .Columns.Add("CivilStatus")
            .Columns.Add("CauseofAccident")
            .Columns.Add("Injury")
            .Columns.Add("ActionTaken")
            .Columns.Add("Responders")
            .Columns.Add("VehicleInvolved")
            .Columns.Add("ContactNo")
            .Columns.Add("IPlateNo")
            .Columns.Add("Encoded")
            .Columns.Add("Photo1")


        End With
        For Each dgr As DataGridViewRow In Me.DataGridView1.Rows
            dt.Rows.Add(dgr.Cells(0).Value, dgr.Cells(1).Value, dgr.Cells(2).Value, dgr.Cells(3).Value, dgr.Cells(4).Value, dgr.Cells(5).Value, dgr.Cells(6).Value, dgr.Cells(7).Value, dgr.Cells(8).Value, dgr.Cells(9).Value, dgr.Cells(10).Value, dgr.Cells(11).Value, dgr.Cells(12).Value, dgr.Cells(13).Value, dgr.Cells(14).Value, dgr.Cells(15).Value, dgr.Cells(16).Value, dgr.Cells(17).Value, dgr.Cells(18).Value)
        Next


        Dim reportDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument
        reportDocument = New PrintRange
        reportDocument.SetDataSource(dt)
        Form4.CrystalReportViewer1.ReportSource = reportDocument
        Form4.ShowDialog()
        Form4.Dispose()


Что я уже пробовал:

Не могу увидеть фотографию в моем Хрустальном отчете

Maciej Los

Что такое Источник данных DataGridView? Я предполагаю: DataTable?

Member 13742359

DataTable от SqlServer
FileNotFoundException был необработан.
FullFileNameToImage

1 Ответов

Рейтинг:
1

Maciej Los

Предполагая, что DataGridView правильно отображает изображения и его DataSource свойство установлено на DataTable, то вы можете сократить свой код до:

Dim dt As DataTable = DirectCast(DataGridView.DataSource, DataTable)
'...
reportDocument.SetDataSource(dt)


Видеть: Оператор DirectCast (Visual Basic)[^]

Если нет, вы можете использовать что-то вроде этого:
Dim dt As DataTable = New DataTable()
dt.Columns.Add(New DataColumn("Picture", Type.GetType("System.Object")))
dt.Rows.Add(New Object(){Image.FromFile("FullFileNameToImage")})


Для получения более подробной информации, пожалуйста, смотрите:
Класс Изображений (System.Рисование)[^]
Добавление изображения в таблицу данных[^]
Отображение Отчета Crystal С Изображениями С Использованием Типизированного Набора Данных[^]


Member 13742359

FileNotFoundException был необработан.
FullFileNameToImage

Maciej Los

FullFileNameToImage это имя столбца, в котором хранятся изображения...

Member 13742359

'Дим ДТ в качестве нового объекта DataTable
Dim dt As DataTable = новый DataTable()
С dt
.Колонки.Добавить("ID")
.Колонки.Добавить("SpoReport")
.Колонки.Добавить("PersonInvolved")
.Колонки.Добавить("NatureofIncident")
.Колонки.Добавить("LocationofIncident")
.Колонки.Добавить("DateandTime")
.Колонки.Добавить("Домашний Адрес")
.Колонки.Добавить("Дата Рождения")
.Колонки.Добавить("Возраст")
.Колонки.Добавить("CivilStatus")
.Колонки.Добавить("CauseofAccident")
.Колонки.Добавить("Травма")
.Колонки.Добавить("ActionTaken")
.Колонки.Добавить("Ответчики")
.Колонки.Добавить("VehicleInvolved")
.Колонки.Добавить("ContactNo")
.Колонки.Добавить("IPlateNo")
.Колонки.Добавить("Закодировано")
'.Колонки.Добавить("Фото1")
ДТ.колонны.Add(New DataColumn("Photo1", Type.GetType("Система.Объект")))

Конец С
Для каждого dgr как DataGridViewRow в Me.IncidentTable1DataGridView.Rows
dt.Rows.Add(dgr.Cells(0).Value, dgr.Ячейки(1).Значение, dgr.Ячейки(2).Значение, dgr.Ячейки(3).Значение, dgr.Ячейки(4).Значение, dgr.Ячейки(5).Значение, dgr.Ячейки(6).значение, dgr.Ячейки(7).значение, dgr.Ячейки(8).значение, dgr.Ячейки(9).значение, dgr.Ячейки(10).значение, dgr.Ячейки(11).значение, dgr.Ячейки(12).значение, dgr.Ячейки(13).значение, dgr.Ячейки(14).значение, dgr.Ячейки(15).значение, dgr.Ячейки(16).значение, dgr.Ячейки(17).Значение)
dt.Rows.Add(новый объект() {Изображение.FromFile("Фото1")})
Следующий


Тусклый reportDocument как CrystalDecisions.CrystalReports.Двигатель.Документе
reportDocument = новый PrintRange
документе.SetDataSource(dt)
Form4.CrystalReportViewer1.ReportSource = документе
Form4.Метод showdialog()
Form4.Распоряжаться()

- возникли проблемы с первым проектом
'thnks для оценки

Member 13742359

FileNotFoundException был необработан.
Фото1
- новый проект и кодер