遍历GridView行并分别设置图像

时间:2019-04-18 06:34:07

标签: c# .net winforms devexpress xtraeditors

我有一个Devexpress DataGridView。名为TEST的列设置为使用RepositoryItemTextEdit显示图像

 RepositoryItemTextEdit te = new RepositoryItemTextEdit();
 _grd.RepositoryItems.Add(te);
 _rgv.Columns["TEST"].ColumnEdit = te;
 te.ContextImage = myimage;

此代码为列中的所有单元格设置图像。如何在循环中单独编辑单元格图像?

2 个答案:

答案 0 :(得分:2)

处理CustomDrawCell事件。

private void _grd_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) {
  if (e.Column.FieldName == "TEST") {
    var te = (e.Cell as GridCellInfo).ViewInfo as TextEditViewInfo;
    te.ContextImage = GetCustomImageForThisRow(); // <-- your custom logic 
  }
}

答案 1 :(得分:1)

如果图像数量有限,建议您创建一些存储库项目,并在GridViewCustomRowCellEdit事件中有条件地将它们分配给单元格。

如果需要使用许多不同的图像,请使用Cell Icons文章的Cells部分中介绍的一种方法。