我想在这个datagridview里面添加一个图片,图片是画上去的,运行一下就成这个样子了。
17 个解决方案
#2
把Connect类的相关代码贴过来看下
#3
另外,datagridview对应的“地址”列是怎么设置的?
#4
可以考虑将图片放到资源文件里,如下:
或者,datatable图片列改用byte[]试下。
using System.Resources;
using System.Reflection;
private DataTable CreateTab()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("State", typeof(System.Object)));
ResourceManager rm = new ResourceManager("Test1.Res", Assembly.GetEntryAssembly());
Image image = (Image)rm.GetObject("_01");
for (int i = 1; i < 20; i++)
{
DataRow drs;
drs = dt.NewRow();
drs[0] = i;
drs[1] = "设备" + i.ToString();
drs[2] = image;
dt.Rows.Add(drs);
}
return dt;
}
或者,datatable图片列改用byte[]试下。
#5
一个dataset读取数据库
#6
放在了debug里面
#7
地址列也是对应个bitmap对象吗?
#8
对啊 图表列我是画上去的 下面这个是填充这个DataSet类。 sqlhelp 是一个帮助类。这个不用截图了吧,
#9
把datatable里的图片里类型改为byte[]试试
#10
把datatable里的图片里类型改为byte[]试试
换了以后变成了还是那样,还是没有画上去,就跟我刚开始的时候是一样的
#11
我的结果想是这样的,就是在查出数据之后隐藏第一列,这个实现方式就是在后面增加一个图片列,直接把图片赋上去。这个是找别人帮忙解决的,但是自己的问题还是没有解决。
#12
选择一般都是复选框,做成图片列的目的是什么?
#13
选择一般都是复选框,做成图片列的目的是什么?
用户在更换地址的时候,会弹出来一个这个,点击后面的图标就会更换
#14
用户在更换地址的时候,会弹出来一个这个,点击后面的图标就会更换
如果地址项不是很多的话,建议改成下拉框选择
#15
显示图片的列应是 DataGridViewImageColumn 类型
DataGridView 绑定数据源后,仍需逐行对该列绑定图片(从文件名或byte[]创建 Bitmap对象,你会的)
类似这样 BindImageDataGridView.Rows[i].Cells["image"].Value = new Bitmap(dt.Rows[i]["imagePath"].ToString().Trim());
因为对象需要实例化,而 C# 并不知道对象的具体来源,所以不能替你完成实例化工作
DataGridView 绑定数据源后,仍需逐行对该列绑定图片(从文件名或byte[]创建 Bitmap对象,你会的)
类似这样 BindImageDataGridView.Rows[i].Cells["image"].Value = new Bitmap(dt.Rows[i]["imagePath"].ToString().Trim());
因为对象需要实例化,而 C# 并不知道对象的具体来源,所以不能替你完成实例化工作
#16
在DataTable里图片列你怎么赋的值?
#17
#1
#2
把Connect类的相关代码贴过来看下
#3
另外,datagridview对应的“地址”列是怎么设置的?
#4
可以考虑将图片放到资源文件里,如下:
或者,datatable图片列改用byte[]试下。
using System.Resources;
using System.Reflection;
private DataTable CreateTab()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("State", typeof(System.Object)));
ResourceManager rm = new ResourceManager("Test1.Res", Assembly.GetEntryAssembly());
Image image = (Image)rm.GetObject("_01");
for (int i = 1; i < 20; i++)
{
DataRow drs;
drs = dt.NewRow();
drs[0] = i;
drs[1] = "设备" + i.ToString();
drs[2] = image;
dt.Rows.Add(drs);
}
return dt;
}
或者,datatable图片列改用byte[]试下。
#5
另外,datagridview对应的“地址”列是怎么设置的?
一个dataset读取数据库
#6
可以考虑将图片放到资源文件里,如下:
using System.Resources;
using System.Reflection;
private DataTable CreateTab()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("State", typeof(System.Object)));
ResourceManager rm = new ResourceManager("Test1.Res", Assembly.GetEntryAssembly());
Image image = (Image)rm.GetObject("_01");
for (int i = 1; i < 20; i++)
{
DataRow drs;
drs = dt.NewRow();
drs[0] = i;
drs[1] = "设备" + i.ToString();
drs[2] = image;
dt.Rows.Add(drs);
}
return dt;
}
或者,datatable图片列改用byte[]试下。
放在了debug里面
#7
一个dataset读取数据库
地址列也是对应个bitmap对象吗?
#8
一个dataset读取数据库
地址列也是对应个bitmap对象吗?
对啊 图表列我是画上去的 下面这个是填充这个DataSet类。 sqlhelp 是一个帮助类。这个不用截图了吧,
#9
把datatable里的图片里类型改为byte[]试试
#10
把datatable里的图片里类型改为byte[]试试
换了以后变成了还是那样,还是没有画上去,就跟我刚开始的时候是一样的
#11
我的结果想是这样的,就是在查出数据之后隐藏第一列,这个实现方式就是在后面增加一个图片列,直接把图片赋上去。这个是找别人帮忙解决的,但是自己的问题还是没有解决。
#12
选择一般都是复选框,做成图片列的目的是什么?
#13
选择一般都是复选框,做成图片列的目的是什么?
用户在更换地址的时候,会弹出来一个这个,点击后面的图标就会更换
#14
用户在更换地址的时候,会弹出来一个这个,点击后面的图标就会更换
如果地址项不是很多的话,建议改成下拉框选择
#15
显示图片的列应是 DataGridViewImageColumn 类型
DataGridView 绑定数据源后,仍需逐行对该列绑定图片(从文件名或byte[]创建 Bitmap对象,你会的)
类似这样 BindImageDataGridView.Rows[i].Cells["image"].Value = new Bitmap(dt.Rows[i]["imagePath"].ToString().Trim());
因为对象需要实例化,而 C# 并不知道对象的具体来源,所以不能替你完成实例化工作
DataGridView 绑定数据源后,仍需逐行对该列绑定图片(从文件名或byte[]创建 Bitmap对象,你会的)
类似这样 BindImageDataGridView.Rows[i].Cells["image"].Value = new Bitmap(dt.Rows[i]["imagePath"].ToString().Trim());
因为对象需要实例化,而 C# 并不知道对象的具体来源,所以不能替你完成实例化工作
#16
在DataTable里图片列你怎么赋的值?