您的位置:首页 > 编程语言 > C#

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

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



然后在添加一个imageList控件,要先将imagelist绑定到[b]superGridControl用下面的两个方法[/b]
#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里面

[b]这边需要注意的是在保存到imagelist中要添加一个ID,我这边是包含了这个图片的那条数据的ID,后面的superGridControl需要通过这个ID才能读取到图片,下面是我写的一个绑定到superGridControl中的方法[/b]
DataRow dr = dt_.NewRow();
object[] objs = { ID };
dr.ItemArray = objs;
dt_.Rows.Add(dr);
this.superGridControl1.PrimaryGrid.DataSource = dt_;

在插入时,只需要放对应的ID,然后在把这个DataTable在赋给superGridControl中就可以了,后面我在写一个实例上传上来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# 图片 superGridControl