Вы можете сделать это довольно просто, следующим образом:
Добавление столбца сетки для отображения изображение и установить его значение Properties
на Image
Во время выполнения загрузите два растровых изображения, BM1
и BM2
с растровыми изображениями, которые вы хотите отобразить.
Добавить код в новый столбец OnCustomDrawCell
, как показано ниже.
Код:
procedure TForm1.cxGrid1DBTableView1Column1CustomDrawCell(Sender:
TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo:
TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
BM : TBitMap;
ARect : TRect;
I : Integer;
begin
ARect := AViewInfo.Bounds;
// In the next line, 2 is the index of my integer column which
// contains the value which deterimnes the image to display.
I := AViewInfo.GridRecord.Values[2];
if I = 0 then
BM := BM1
else
BM := BM2;
ACanvas.Draw(ARect.Left, ARect.Top, BM);
ADone := True;
end;
Конечно, если вы не хотите, чтобы отобразить значение целого поля в в сетке, вы можете просто удалить его столбец или установить его свойство Visible
в False
.
Вы можете попробовать столбец ImageComboBox и установить все элементы «Описание» в '' ''. –