Xtragrid表格的图片显示,用的控件是repositoryItemPictureEdit 。他只能用System.Byte[]来显示图片。
添加图片列 ds.Tables[0].Columns.Add("PICTURE", typeof(System.Object));
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dr = ds.Tables[0].Rows[i];
dr["PICTURE"] = this.GetImage(dr["PATH"].ToString().Trim());
}
gridControl1.DataSource = ds.Tables[0]; //绑定到gridControl1当中 在gridControl1 中
//根据URL路径获取图片
private byte[] GetImage(string strPath)
{
Image obj = Image.FromStream(System.Net.WebRequest.Create(strPath).GetResponse().GetResponseStream());
byte[] bt = ImageToByteArray(obj); //使用ImageToByteArray()函数 将Image类型转成Byte[]类型
obj.Dispose();
return bt;
}
private byte[] GetImage(string strPath)
{
Image obj = Image.FromStream(System.Net.WebRequest.Create(strPath).GetResponse().GetResponseStream());
byte[] bt = ImageToByteArray(obj); //使用ImageToByteArray()函数 将Image类型转成Byte[]类型
obj.Dispose();
return bt;
}
/// <summary>
/// 根据image获取图片的字节
/// </summary>
/// <param name="image"></param>
/// <returns></returns>
private byte[] ImageToByteArray(Image image)
{
System.IO.MemoryStream mStream = new System.IO.MemoryStream();
image.Save(mStream, System.Drawing.Imaging.ImageFormat.Png);
byte[] ret = mStream.ToArray();
mStream.Close();
return ret;
}
-