Firemonkey Grid Control - Disabilita Move della colonna; consentire tuttavia il dimensionamento della colonna

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

Domanda

Sto usando il TGRID in FM e voglio che gli utenti siano in grado di ridimensionare una colonna, ma non riorganizzare le colonne (cioè trascinare e spostare l'intestazione della colonna). Ho provato a cambiare molte delle proprietà esposte ("bloccato", "dragmode", "abilita abilitag" ecc ...) - ma nulla sembra avere l'effetto desiderato?

Nella vera esperienza FM; Immagino che potrei dover scavalcare la classe e cambiare qualcosa nella struttura back-end; Ma non sono sicuro di cosa/dove - o anche se questo è fattibile?

Sonte del campione saggio; Puoi vedere il problema se aggiungi semplicemente un TGRID, aggiungi alcune colonne ed esegui.

Molte grazie in anticipo. Ian.

È stato utile?

Soluzione

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;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top