C# Winform中DataGridView在单元格中显示图片的问题
代码如下,为什么不显示呢(路径测试过正确,底下消息显示level值的时候都不显示,哪个地方的问题)?数据库操作代码就不上,注:不是从数据库中更新图片的,就是从本地中取图片...
代码如下,为什么不显示呢(路径测试过正确,底下消息显示level值的时候都不显示,哪个地方的问题)?
数据库操作代码就不上,注:不是从数据库中更新图片的,就是从本地中取图片的。
dt = db.Table(sb.ToString()); //临时表
this.dgv.DataSource = dt; //绑定数据源
//遍历DataGridView 中的行
foreach (DataGridViewRow row in this.dgv.Rows)
{
//转换【LevelId】列的为DataGridViewImageCell
DataGridViewImageCell image = (DataGridViewImageCell)row.Cells["LevelId"];
string level = row.Cells["LevelId"].Value.ToString(); //取得行中的[LevelId]列的值
// MessageBox.Show(level);
//判断列的值是多少,根据条件换相应的图片
switch (level)
{
case "1":
{
image.Value = Image.FromFile(Directory.GetCurrentDirectory() + @"\Images\xing.png");
break;
}
case "2":
{
image.Value = Image.FromFile(Directory.GetCurrentDirectory() + @"\Images\yue.png");
break;
}
}
} 展开
数据库操作代码就不上,注:不是从数据库中更新图片的,就是从本地中取图片的。
dt = db.Table(sb.ToString()); //临时表
this.dgv.DataSource = dt; //绑定数据源
//遍历DataGridView 中的行
foreach (DataGridViewRow row in this.dgv.Rows)
{
//转换【LevelId】列的为DataGridViewImageCell
DataGridViewImageCell image = (DataGridViewImageCell)row.Cells["LevelId"];
string level = row.Cells["LevelId"].Value.ToString(); //取得行中的[LevelId]列的值
// MessageBox.Show(level);
//判断列的值是多少,根据条件换相应的图片
switch (level)
{
case "1":
{
image.Value = Image.FromFile(Directory.GetCurrentDirectory() + @"\Images\xing.png");
break;
}
case "2":
{
image.Value = Image.FromFile(Directory.GetCurrentDirectory() + @"\Images\yue.png");
break;
}
}
} 展开
2个回答
展开全部
不能用getcurrentdircetory,这个当前路径会被其它程序更改,先做测试检测问题在哪,在switch(level)的上面加入
string dir=Directory.GetCurrentDirectory() + @"\Images\xing.png";
switch(level)
然后在switch上下断点,运行,然后中断时候看一下dir到底是什么,
注:如果要取相对于exe的目录,通常是用这种
string dir=Application.StartupPath+@"\Images\xing.png";
string dir=Directory.GetCurrentDirectory() + @"\Images\xing.png";
switch(level)
然后在switch上下断点,运行,然后中断时候看一下dir到底是什么,
注:如果要取相对于exe的目录,通常是用这种
string dir=Application.StartupPath+@"\Images\xing.png";
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询