【问题标题】:Insert image in 1 column in datagridview在datagridview的1列中插入图像
【发布时间】:2014-02-20 03:34:04
【问题描述】:

基本上我有一个datagridview,我想在第一列中插入图像,在其余列中插入文本。请注意,datagridview 绑定到我插入行的源。

在图像要求之前,我只是将行添加为字符串数组,如下所示:

string[] row = **value**;
myDataTable.Rows.Add(row);

这一切都很好。但是现在我不知道如何添加图像(我已经在数据表中添加了一个图像列)。显然我不能在字符串数组中插入位图图像。 我也不能插入图像和字符串数组,如下所示:

myDataTable.Rows.Add(image, textArray);

因为它会导致在第二列中插入整个数组,而不是在每一列中插入特定项。

我该怎么做?

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    You can pass an array of objects 而不是字符串数组:

    object[] row = new object[] { image, "string 1", "string 2" };
    myDataTable.Rows.Add(row);
    

    【讨论】:

      【解决方案2】:

      我们可以将任何类型的数据绑定到 DataGridViewImageColumn。我们只需要处理 CellFormatting 事件即可将数据转换为图像。比如我们绑定了一些图片路径到该列,我们可以按照下面的代码来展示图片:

      private void dataGridView1_CellFormatting(object sender,DataGridViewCellFormattingEventArgs e)  
      {  
          if (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewImageColumn)  
          {  
              string imagePath = (e.Value ?? "").ToString().Trim();  
              if (imagePath != "") 
                  e.Value = Image.FromFile(imagePath);  
          }  
      } 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-03
        相关资源
        最近更新 更多