Einzelnen Beitrag anzeigen

Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#1

[FMX ANDROID] (String)Grid Alternating Row Color nur bis 1. Rand

  Alt 8. Nov 2016, 11:16
Hallo,
ich habe hier ein "tolles" Phänomen:
ich habe ein Stringgrid oder ein Grid (das macht keinen unterschied) und fülle dies mit daten und mehreren spalten, sodass man nach rechts scrollen muss, um alle spalten sehen zu können. Nun habe ich in diesem Grid AlternatingRowColors eingestellt, welche soweit auch funktionieren, bis man nach rechts scrollt und bis dahin noch nicht sichtbaren bereich anzeigt. Hier wird das AlternatingRowColor nur bis zur ursprünglichen anzeigegrenze angezeigt (egal ob in einer Zelle oder an der Kante). Auch die Selektierung einer Zeile wird nur bis hier hin angezeigt.

Für die Zeilenfarben habe ich folgenden code gefunden, welcher auch funktioniert:

http://stackoverflow.com/questions/3...s-screen-width

Delphi-Quellcode:
procedure TForm1.StringGrid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF; const Row: Integer; const Value: TValue; const State: TGridDrawStates);
var
  T, T2: TRectF;
begin
  if Row mod 2 = 1 then
  begin
    with Canvas do
    begin
      Fill.Kind := TBrushKind.Solid;
        Fill.Color := $FFF5802D;
    end;

    T := Bounds;
    if TStringGrid(Sender).ColumnCount - 1 = Column.Index then
      T.Right := Self.Width;
    Canvas.FillRect(T, 0, 0, [], 0.5);
  end;

end;
Nur verzögert dieser Code natürlich das anzeigen des Grids. Ausserdem wird dadurch die Schrift blasser, da das Canvas darüber liegt. Auch wird hiermit das Problem mit der Selektierten Zeile nicht gelöst.

Hat hier jemand eine Idee, wie ich die Anzeige funktionstüchtig machen kann?
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.

Geändert von Devil1925 ( 8. Nov 2016 um 13:41 Uhr)
  Mit Zitat antworten Zitat