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 № 1Pewnie. 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;