【问题标题】:How can I scale an image in a datagridview c#如何在 datagridview c# 中缩放图像
【发布时间】:2021-10-07 14:46:11
【问题描述】:

我有一个数据库查询,它返回一个 DataSet,然后我用它来填充 DataGridView:

DataSet ds = CapsDbUtils.GetSamples(sampleIds);
dgvSample.DataSource = ds.Tables[0];

一列 (10) 包含图片,这些图片显示在网格中,但我需要缩放它们以适应。我知道如果我明确创建一个图像列,这是可能的:

imageCol.ImageLayout = DataGridViewImageCellLayout.Stretch;

有谁知道如何将现有列转换为 imageColumn 以便我可以设置此属性?

【问题讨论】:

  • 向我们展示该列的代码。
  • 您是否考虑过“手动”将DataGridViewImageColumn 添加到网格中?例如,通过代码或设计器手动添加DataGridViewImageColumn... 然后将其ImageLayout 属性设置为“Stretch”。然后将列DataPropertyName 设置为DataTableImage 列的名称。这应该在设置网格数据源时将手动添加的列与表中的Image 列匹配。
  • 感谢您的建议。我认为这需要我手工制作网格中的列并将它们映射到 DataSet 表。我确信必须有一种转换列类型的方法,但我只是不知道该怎么做。如果我没有发现,我将采用手工制作的方法。

标签: c# image datagridview


【解决方案1】:

以下是将 Grids 列转换为 DataGridViewImageColumn 的代码……显然,该列需要是实际的 Image 类型列。

try {
  DataGridViewImageColumn imgCol = (DataGridViewImageColumn)dataGridView1.Columns["ImageColName"];
  imgCol.ImageLayout = DataGridViewImageCellLayout.Stretch;
}
catch (Exception ex) {
  MessageBox.Show("Error casting column to image column: " + ex.Message);
}

【讨论】:

  • 感谢 JohnG - 正是我所追求的!梦想成真!
猜你喜欢
  • 1970-01-01
  • 2013-05-29
  • 2012-06-10
  • 1970-01-01
  • 2011-08-22
  • 2012-03-23
  • 1970-01-01
  • 2018-09-08
  • 2013-05-22
相关资源
最近更新 更多