【发布时间】:2012-08-18 21:31:54
【问题描述】:
我有一个表格,其中包含人员的姓名、姓氏、代码和照片。当我从表中选择人员并将结果发送到 DevExpress GridControl 时,它会显示姓名、姓氏和代码列。但 Photo 列在所有行中显示 System.Byte[] 值。有什么问题。
【问题讨论】:
标签: c# winforms devexpress xtragrid
我有一个表格,其中包含人员的姓名、姓氏、代码和照片。当我从表中选择人员并将结果发送到 DevExpress GridControl 时,它会显示姓名、姓氏和代码列。但 Photo 列在所有行中显示 System.Byte[] 值。有什么问题。
【问题讨论】:
标签: c# winforms devexpress xtragrid
您应该为列的ColumnEdit 属性分配RepositoryItemPictureEdit 的实例。在这种情况下,XtraGrid 将能够在网格中显示图像。
示例:How to display an image in GridControl
相关链接:
【讨论】:
***字节转换为图像
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);
【讨论】: