C# 基于另一列中的值在Datagridview中显示图像

C# 基于另一列中的值在Datagridview中显示图像,c#,datagridview,C#,Datagridview,我有一个数据网格视图,它从数据表中加载值,有三列。 Col0是图像(如果有或没有文件附件),Col1是主题,Col2是附件文件名(如果没有附件,则为空字符串) 我想将col0链接到col2,但是如果col2中的单元格是空字符串,我在col0中不会得到图像,否则我会得到已经保存的图像 这是我目前的代码: { string sqlQueryStr = "SELECT Main_Subject,Main_FileName FROM dbo.Main WHERE

我有一个数据网格视图,它从数据表中加载值,有三列。 Col0是图像(如果有或没有文件附件),Col1是主题,Col2是附件文件名(如果没有附件,则为空字符串)

我想将col0链接到col2,但是如果col2中的单元格是空字符串,我在col0中不会得到图像,否则我会得到已经保存的图像

这是我目前的代码:

{
                    string sqlQueryStr = "SELECT Main_Subject,Main_FileName FROM dbo.Main WHERE Main_Subject like @tb_MainSubject ";
                    SqlCommand cmd = new SqlCommand(sqlQueryStr, sc);
                    cmd.Parameters.AddWithValue("tb_MainSubject", "%" + tb_MainSubject.Text + "%");
                    sc.Open();
                    cmd.ExecuteNonQuery();
                    sc.Close();
                    using (SqlDataAdapter myAdapter = new SqlDataAdapter(cmd))
                    {
                        myAdapter.Fill(myTable);
                        // Render data onto the screen
                        dgv_Result.DataSource = myTable;


                    }

                    this.dgv_Result.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                    this.dgv_Result.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    this.dgv_Result.Columns[2].Visible = false;


                }

谢谢

foreach(dgv_Result.Rows中的DataGridViewRow行){if(row.Cells[2].Value.ToString().Equals(“”)row.Cells[0].Value=“no”else row.Cells[0].Value=“yes”}这适用于文本列,如何设置图像的值?单元格[0]是否包含asp图像标记?如果是这样,您可以使用类似于Image ctl=Cells[0]的内容来访问它;ctl.ImageSource=“”;这一切都来自记忆,但希望它能指引你正确的方向。我已经找到了一种方法,但问题是我找不到如何指定导入到库中的图像的路径。我不确定你的意思。你不能像ctl.ImageUrl=“~/images/myimage.jpg”这样做吗;(~应该告诉它从站点的根开始)