【问题标题】:DevExpress GridControl image column displays images like System.Byte[]DevExpress GridControl 图像列显示类似 System.Byte[] 的图像
【发布时间】:2012-08-18 21:31:54
【问题描述】:

我有一个表格,其中包含人员的姓名、姓氏、代码和照片。当我从表中选择人员并将结果发送到 DevExpress GridControl 时,它会显示姓名、姓氏和代码列。但 Photo 列在所有行中显示 System.Byte[] 值。有什么问题。

【问题讨论】:

    标签: c# winforms devexpress xtragrid


    【解决方案1】:

    您应该为列的ColumnEdit 属性分配RepositoryItemPictureEdit 的实例。在这种情况下,XtraGrid 将能够在网格中显示图像。

    示例:How to display an image in GridControl

    相关链接:

    1. Repositories and Repository Items
    2. Inplace Editors Overview

    【讨论】:

    【解决方案2】:

    ***字节转换为图像

               data.Read();
    
                //get the value of the size field in the current row and store it in filesize
    
                int fileSize = data.GetInt32(data.GetOrdinal("size"));
    
                //get the value of the name field in the current row and store it in filesize
    
                string name = data.GetString(data.GetOrdinal("name"));  
    
                //Create a byte array to read the file in the row which is in bytes
    
                byte[] rawData = new byte[fileSize];
    
                //Read the bytes and store it in the array
    
                data.GetBytes(data.GetOrdinal("file"), 0, rawData, 0, fileSize);
    
                //Create the file from the byte array which is read from the database
    
                FileStream fs = new FileStream(name, FileMode.Create, FileAccess.Write);
    
                fs.Write(rawData, 0, fileSize);
    
                //closing the file stream 
    
                fs.Close();
    
                //Showing the image that is just retreived in te picturebox picDB
    
                picDB.BackgroundImage = new Bitmap(name);     
    

    【讨论】:

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