【问题标题】:How To Display Image Into Devexpress GridView / Devexpress Card View From Mysql如何从 Mysql 将图像显示到 Devexpress GridView / Devexpress Card View
【发布时间】:2017-10-17 14:04:44
【问题描述】:

这里我想问一下,如何将图像数据显示到DevExpress DevExpress gridview或CardView中。 因为我会从 mysql 数据库中拍一张我保存为 BLOB 数据类型的数据。

如果使用Visual Basic,如何或它的代码。?

对于我使用的代码:

Dim Query As String = "SELECT FTO.ALM_NIM as FOTO_ID, FTO.ALM_FOTO as FOTO FROM tbl_foto_alumni as FTO"

Using DA As New MySql.Data.MySqlClient.MySqlDataAdapter(Query, MyKonection)
   Dim DTwisda As New DataTable
   DA.Fill(DTwisda)
   if Dtwisda.Rows.Count > 0 Then
      GridControl.Datasource = DTwisda
      MainView = CardView1
      Dim RepItemImg As New Repository.RepositoryItemPictureEdit()
      RepItemImg.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Stretch
      RepItemImg.BestFitWidth = 100
      RepItemImg.CustomHeight = 150
      With CardView1.Columns("FOTO")
           .ColumnEdit = RepItemImg
      End With
      With CardView1
           .OptionsBehavior.FieldAutoHeight = True
           .MaximumCardRows = 2
           .MaximumCardColumns = 6
      End With
   End If
End Using

要对我的程序和从数据库调用数据的结果进行截图,请查看附件。 我已经附上了以下word文件。

ScreenShoot_Program

请帮助并给出解决方案。

问候,

塔法里

【问题讨论】:

  • 您是否尝试将 RepositoryItemPictureEdit 的 PictureStoreMode 属性设置为 ByteArray?
  • 还没有,如何处理我的数据并将使用 RepositoryItemPictureEdit 显示到 Gridview / Card View。你能给我一个解决方案吗?谢谢之前..
  • 您可以在网格控件的设计器中或在运行时设置属性:RepItemImg.PictureStoreMode = DevExpress.XtraEditors.Controls.PictureStoreMode.ByteArray;
  • 好的。完成了,布兰登。谢谢...

标签: mysql vb.net devexpress


【解决方案1】:

试试这个代码:

Dim row As DataRow
            Dim i As Integer
            For Each row In myDt.Rows
                Column = New DataColumn
                With Column
                    .DataType = GetType(Bitmap)
                    ' .DefaultValue = Base64ToImage(row("Photo"))
                    .Unique = False
                    .ColumnName = "EmpPhoto"
                End With
                If Not myDt.Columns.Contains("EmpPhoto") Then
                    myDt.Columns.Add(Column)
                End If
                myDt.Rows(i)("EmpPhoto") = Base64ToImage(row("Photo"))
                i += 1
                myDt.AcceptChanges()
            Next
            i = 0
            'myDt.Rows.Add(Column.DefaultValue)

 Public Function Base64ToImage(base64String As String) As Image
    Try
        ' Convert Base64 String to byte[]
        Dim imageBytes As Byte() = Convert.FromBase64String(base64String)
        Dim ms As New MemoryStream(imageBytes, 0, imageBytes.Length)
        ' Convert byte[] to Image
        ms.Write(imageBytes, 0, imageBytes.Length)
        Dim image1 As Image = Image.FromStream(ms, True)
        Return image1
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多