superGridControl控件中显示图片功能实现

来源:互联网 发布:皇室战争皇家巨人数据 编辑:程序博客网 时间:2024/05/21 21:44

<span style="background-color: rgb(255, 255, 255); font-family: Arial, Helvetica, sans-serif;">       在superGridControl中某一列显示图片,首先要先将这一列的格式改为图片的格式如图</span>

然后在添加一个imageList控件,要先将imagelist绑定到superGridControl用下面的两个方法

        #region ========绑定图片到表格========        private void InitializeGrid()        {            GridPanel panel = superGridControl1.PrimaryGrid;            GridColumn column = panel.Columns["图片"];            column.EditorType = typeof(MyGridImageEditControl);            column.EditorParams = new object[] { imageList1, ImageSizeMode.Zoom };        }        private class MyGridImageEditControl : GridImageEditControl        {            public MyGridImageEditControl(ImageList imageList, ImageSizeMode sizeMode)            {                ImageList = imageList;                ImageSizeMode = sizeMode;            }        }        #endregion

然后在将image类型的图片绑定进imagelist,如果图片是二进制数组,则要先将二进制数组转换成image格式,方法如下

        public Image reph(byte[] streambyte)        {            MemoryStream ms = new MemoryStream(streambyte);            Image img = Image.FromStream(ms);            return img;        }


然后在用下面的方法绑定到imagelist中

                    Image img = reph(byte[] bt);//将二进制数组转换成Image类型                    this.imageList1.Images.Add(ID, img);//保存到imagelist中                    InitializeGrid();//显示到superGridControl里面


这边需要注意的是在保存到imagelist中要添加一个ID,我这边是包含了这个图片的那条数据的ID,后面的superGridControl需要通过这个ID才能读取到图片,下面是我写的一个绑定到superGridControl中的方法

                DataRow dr = dt_.NewRow();                object[] objs = { ID };                dr.ItemArray = objs;                dt_.Rows.Add(dr);                this.superGridControl1.PrimaryGrid.DataSource = dt_;


在插入时,只需要放对应的ID,然后在把这个DataTable在赋给superGridControl中就可以了,后面我在写一个实例上传上来


0 0
原创粉丝点击