如何在ultragrid中显示图像列?

时间:2015-04-15 07:36:05

标签: c# winforms infragistics ultragrid

我在Windows窗体中创建了一个Ultragrid,它通过数据表显示数据库中的数据。 在数据表中我有一个包含图像路径的列我想知道如何让超网格显示这些路径的图像?

注意:我的Infragistic版本是5.6,我在.net 2.0

工作

1 个答案:

答案 0 :(得分:3)

您需要向UltraGrid添加未绑定的Image类型列,并隐藏包含图像路径的列。为此,您可以像这样处理InitializeLayout事件:

private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{
    // Hide the "path" column
    e.Layout.Bands[0].Columns["Path"].Hidden = true;

    // Add new unbound column of Image type - here you will show the pictures
    e.Layout.Bands[0].Columns.Add("Image").DataType = typeof(Image);
}

准备好"准备好"您的网格在InitializwRow事件中显示图片,您可以像这样加载每个图像:

private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
{
    // Check if this is data row -  if you have summaries, groups...
    if (e.Row.IsDataRow)
    {
        // Create an image from the path string in the "Path" cell
        Image image = Bitmap.FromFile(e.Row.Cells["Path"].Text);

        // Put the image in the "Image" cell
        e.Row.Cells["Image"].Value = image;
    }
}