FireMonkey Grid Control - déplacer la colonne Désactiver; tout en permettant le dimensionnement de la colonne

StackOverflow https://stackoverflow.com/questions/9341441

Question

J'utilise le TGrid FM et que vous souhaitez que les utilisateurs soient en mesure de redimensionner une colonne, mais pas réorganisez les colonnes (ie. Glisser-déplacer l'en-tête de colonne). Je l'ai essayé de changer plusieurs des propriétés exposées ( « verrouillé », « DragMode », « EnableDrag » etc ...) - mais rien ne semble avoir l'effet désiré

En véritable expérience FM; Je suppose que je dois remplacer quelque chose de classe et le changement à la structure arrière-plan; mais je ne suis pas sûr de / où - ou même si cela est possible

source de l'échantillon sage; vous pouvez voir le problème si vous ajoutez simplement un TGrid, ajouter quelques colonnes et exécution.

Un grand merci à l'avance. Ian.

Était-ce utile?

La solution

type
  TCustomGridHelper = class helper for TCustomGrid
  public
    /// <summary>
    /// Publish private FHeader from FMX.Grid.TCustomGrid.
    /// </summary>
    function _GetHeader: THeader;
  end;

function TCustomGridHelper._GetHeader: THeader;
begin
  Result := Self.FHeader;
end;

procedure TForm1.Grid1ApplyStyleLookup(Sender: TObject);
var
  I: Integer;
  Header: THeader;
  HeaderItem: THeaderItem;
begin
  Header := Grid1._GetHeader;
  for I := 0 to Header.ChildrenCount - 1 do
  begin
    HeaderItem := Header.Children[I] as THeaderItem;
    HeaderItem.DragMode := TDragMode.dmManual;
  end;
end;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top