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;           
        }
 

        /// <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;
        }
-
posted on 2011-07-29 11:19    阅读(846)  评论(0编辑  收藏  举报