Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How include a image in devexpress datagrid

How can set icon in Dev express data grid depending on the value returning from Database

like image 330
Fasal Avatar asked Dec 03 '22 03:12

Fasal


1 Answers

Here are the steps.

  • Add an ImageCollection to your form/window and add some icons 16x16 to it.
  • Add a column to the Grid for the icons.
  • Set the column's fieldName to image (whatever you like).
  • Set the column's UnboundType to Object.
  • Add a repositoryItemPictureEdit to the column's columnEdit.

All the above can be done in the designer. Then do the following

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];
        }
    }
}

The key here is handling the CustomUnboundColumnData and the repositoryItemPictureEdit.

like image 165
Saif Khan Avatar answered Dec 04 '22 17:12

Saif Khan