如何根据数据库中的数据动态分配Datagridview单元格值?

时间:2014-08-07 23:04:25

标签: c# winforms datagridview

我的Winform项目上有一个Datagridview。 Datagridview由我的数据库中的数据填充。

我的数据库表上有3列:idnamestatus

我想要做的是,基于我从我的数据库获得的状态字符串("在线"或"离线"),我想在单元格中放置一个图像,而不是仅显示在线或离线的字符串。

例如:如果状态为在线,我希望在单元格上指定我的指定在线图像/图标。

任何人都有想法如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我会在DataBindingComplete event:

上执行此操作
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
        foreach (DataGridViewRow r in dataGridView1.Rows)
        {
            if (r.Cells["status"].Value.ToString() == "Online")
            {
               //add image here
            }
        }
}

您的数据网格还需要附加到DataBindingComplete

这个答案可能也很有用:

https://stackoverflow.com/a/8182203/2589202

答案 1 :(得分:0)

您可以使用datagridview的任何事件,例如

private void dataGridView1_RowsAdded(object sender,
     DataGridViewRowsAddedEventArgs e)
{
   // write code to add image path in current cell of the row.
}

  void Item_Bound(Object sender, DataGridItemEventArgs e) 
   {
    // write code to add image path in current cell of the row.
   }

以下链接可能会在列

中添加图片

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewimagecolumn.image(v=vs.110).aspx

http://csharp.net-informations.com/datagridview/csharp-datagridview-image.htm