Как включить изображение в devexpress datagrid - PullRequest
4 голосов
/ 27 ноября 2010

Как установить значок в сетке экспресс-данных Dev в зависимости от значения, возвращаемого из базы данных

1 Ответ

18 голосов
/ 29 ноября 2010

Вот шаги.

  • Добавьте коллекцию 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.

...