du einfach ganz tun können, wie folgt:
eine Spalte zu dem Raster zum Anzeigen das Bild und setzen Sie seinen Properties
Wert auf Image
Laden Sie zur Laufzeit zwei Bitmaps, BM1
und BM2
mit den Bitmaps, die Sie anzeigen möchten.
Fügen Sie der neuen Spalte OnCustomDrawCell
Code wie unten gezeigt hinzu.
Code:
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;
Natürlich, wenn Sie wollen den Wert Integer-Feld ist im Raster nicht angezeigt werden, können Sie einfach seine Spalte löschen oder die Visible
Eigenschaft auf False
gesetzt.
Sie könnten versuchen, eine ImageComboBox-Spalte und setzen Sie alle Elemente Beschreibung auf "". –