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中就可以了,后面我在写一个实例上传上来
然后在添加一个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#调用COM组件
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程