/ / cxgrid numery kolorów w siatce przy użyciu stylów - delphi, devexpress, tcxgrid

cxgrid liczby kolorów w siatce za pomocą stylów - delphi, devexpress, tcxgrid

Chciałbym zastosować styl do kolumny (na getstyl zawartości), więc wszystkie liczby w tym kolorze kolumny są zgodne z wybranym stylem. Tylko liczby, nic więcej. Oznacza to, że jeśli numer zostanie znaleziony w frazie tekstowej, zostanie on pokolorowany. Czy to możliwe ?

Odpowiedzi:

2 dla odpowiedzi № 1

Pewnie. Użyj czegoś takiego

procedure TForm1.Column1StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; var AStyle: TcxStyle);
var
i: Integer;
begin
if TryStrToInt(ARecord.Values[Column1.Index], i) then
AStyle := cxStyle1;
end;

0 dla odpowiedzi nr 2

To jest szorstki kod, ale powinieneś dostać się dodobry kierunek. Myślę, że może to trochę pokrywać się z rysunkiem na płótnie, ale możesz dostosować go w razie potrzeby. Konieczne będzie również dostosowanie tak, aby analizowało liczby z łańcuchów.

procedure TForm7.cxGrid1TableView1CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
var Bounds : TRect;
begin
Bounds := AViewInfo.Bounds;

ACanvas.Font.Color := clRed;
ACanvas.TextOut(Bounds.Left, Bounds.Top, "123");
Bounds.Left := ACanvas.Canvas.TextWidth("123");

ACanvas.Font.Color := clGreen;
ACanvas.TextOut(Bounds.Left, Bounds.Top, "abc");

ADone := True;
end;