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

<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中就可以了,后面我在写一个实例上传上来


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值