我要实现的样式是这样的
   Name|Vendor|    Image    |    //表头
   jack|1.0   |图片1  图片2 |    //内容
并且在两张图片(图片1、图片2)上还要加上单击事件

解决方案 »

  1.   

    Winform里面,  不允许一列显示两张图片,你要么增加一列, 要么重绘 
    在CellPainting事件中,大致代码如下:
    Rectangle newRect = new Rectangle(e.CellBounds.X + 3, e.CellBounds.Y + 5, e.CellBounds.Height - 15, 
                        e.CellBounds.Height - 12);e.Graphics.DrawImage(img, newRect);
      

  2.   

    我现在的思路是:我建两列(DataGridViewImageColumn列)把两列之前的中线去掉或隐藏(不知道怎么去),把标题合并成一列(不知道怎么合). 
      

  3.   

    重写DataGridViewImageCell的OnPain事件
      

  4.   

    单元格单击事件
    private void dataGridview1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)   
    {   
      if (dataGridview1.Columns[e.ColumnIndex].Name.Equals("Image"))   
      {   
      string path = e.Value.ToString();   
      e.Value = GetImage(path);   
      }   
    }   
    public System.Drawing.Image GetImage(string path)   
    {   
      System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Open);   
      System.Drawing.Image result = System.Drawing.Image.FromStream(fs);     fs.Close();     return result;   }   
    使用DataGridViewImageColumn   
    DataGridViewImageColumn column = new DataGridViewImageColumn();   
    dataGridView1.Columns.Add(column);   
    column.HeaderText = "图片";   
    column.Image = System.Drawing.Image.FromFile("路径");   ((DataGridViewImageCell)this.dataGridView1.Rows[e.RowIndex].Cells[ "图片列"]).Value = "路经 " 
      

  5.   

    如梦给的是某一列显示为图片,这里给出的是,如何合并列标题,你可以两列显示两个图片,但是两列的标题合并掉:
    http://www.codeproject.com/KB/grid/MergedDataGridViewControl.aspx
      

  6.   

    这个也可以看看
    http://www.cnblogs.com/peterzb/archive/2009/05/29/1491891.html