저는 Delphi XE5를 사용 중이며 각 셀의 내용을 기반으로 TGrid를 포맷하려고합니다. 숫자의 경우 빨간색 글꼴로 표시된 네거티브가있는 셀에서 오른쪽 정렬됩니다. 다른 모든 데이터는 셀에서 왼쪽 정렬되어야합니다. 다음 코드는 그리드를 위 또는 아래로 스크롤 할 때 색상/정렬이 잘못되어이 경우를 제외하고는이 코드를 사용합니다.Firemonkey XE5 서식이 지정된 셀을 사용하는 TGrid 스크롤 문제
type
TMyColumn = class(TStringColumn)
end;
procedure TForm1.Grid1GetValue(Sender: TObject; const Col, Row: Integer;
var Value: TValue);
var
vMyCell : TStyledControl;
i : Integer;
s : String;
begin
s := gHoldingGrid.Cells[ Col, Row ];
vMyCell := TMyColumn(Grid1.Columns[ Col ]).CellControlByRow(Row);
if ((vMyCell <> nil) AND (vMyCell is TTextCell))
then begin
TTextCell(vMyCell).StyledSettings := [];
if TryStrToInt(s, i)
then begin
if StrToInt(s) < 0
then TTextCell(vMyCell).FontColor := claRed
else TTextCell(vMyCell).FontColor := claBlue;
TTextCell(vMyCell).TextAlign := TTextAlign.taTrailing;
end { if TryStrToInt(s, i) }
else begin
TTextCell(vMyCell).TextAlign := TTextAlign.taLeading;
TTextCell(vMyCell).FontColor := claGreen;
end; { else .... if TryStrToInt(s, i) }
vMyCell.ApplyStyleLookup;
end; { if ((vMyCell <> nil) AND (vMyCell is TTextCell)) }
Value := s;
end;
이 문제를 해결할 수있는 사람이 있습니까? 나는이 포럼에서 수많은 예제를 시도했지만 제대로 작동하지 못했고 정말로 잘 붙어있었습니다.
많은 감사를드립니다.
감사합니다. Mike. 나는 그 코드로 올바른 방향으로 가고 있다고 생각했지만 그렇지 않은 것 같습니다! –