Datagridview图像列刷新问题

时间:2013-05-24 15:14:23

标签: c# image datagridview

我在DataGridView中刷新图像列时遇到问题。首先,我从数据库获取信息,我正在填充DataGridView,没有问题。

这是填充它的代码:

dgpointsnc.Rows.Clear();   

DBEngine db = new DBEngine(); //This is simply an object that I use to communicate with the database
string query;

query = @"SELECT * FROM tpointncp";
db.ExecuteSelectQuery(query,"tpoints");

for(int i=0; i<db.DtSet.Tables["tpoints"].Rows.Count;i++)
{
   string path = db.DtSet.Tables["tpoints"].Rows[i]["image"].ToString();

   if(path == "")
   {
       path = @"Z:\Qualité\ImagePourquois\gear.png";
   }

   dgpointsnc.Rows.Add(Image.FromFile(path),"test","test");
}

这是代表这一点的图像:

enter image description here

然后,我允许用户通过单独的表单修改所选行的图像。这一步运作良好。

因此,在完成修改之后,我使用与我第一次使用相同的方法重新填充DataGridView。 我遇到的问题是所有列表项都刷新得很好,但“图像列”会保留旧图像并在其前面添加新图像

enter image description here

我不知道为什么它保留旧的,而列表的其余部分则令人耳目一新。

伙计们,我认为当我填充datagridview时问题不是这样;我试图在表格中添加更多数据。

滚动时的结果:

enter image description here

知道可以做什么吗?

1 个答案:

答案 0 :(得分:2)

基于Vinc earlier edit,问题在于:

  

当您将图像列的属性“ImageLayout”设置为“Stretch”时,会产生该问题