如何在devexpress datagrid中包含图像

时间:2010-11-27 11:32:45

标签: c# devexpress xtragrid

如何在Dev中设置图标表示数据网格,具体取决于从数据库返回的值

1 个答案:

答案 0 :(得分:18)

以下是步骤。

  • 将一个ImageCollection添加到yout表单并向其添加一些图标16x16。
  • 为网格添加一列图标。
  • 将列的fieldName设置为image(无论如何) 你喜欢)。
  • 将列的UnboundType设置为Object。
  • 添加repositoryItemPictureEdit 列的columnEdit。

以上所有都可以在设计师中完成。然后执行以下操作

private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
    if (e.Column == colImage1 && e.IsGetData) {
        string someValueFromDatabase = (string)gridView1.GetRowCellValue(e.RowHandle, colOne);
        if (someValueFromDatabase == "a") {
            //Set an icon with index 0
            e.Value = imageCollection1.Images[0];
        } else {
            //Set an icon with index 1
            e.Value = imageCollection1.Images[1];
        }
    }
}

这里的关键是处理CustomUnboundColumnData和repositoryItemPictureEdit。