How can set icon in Dev express data grid depending on the value returning from Database
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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.