PDA

Ver la Versión Completa : Cargar datos en TGrid en tiempo de ejecución


clauxs88
25-01-2017, 15:20:16
Buenas Gente! Mi consulta seria, como cargar datos de un TGrid en tiempo de ejecución recorriendo un ClientDataset con items definidos en tiempo diseño. Sin utilizar el Bind Visually

AgustinOrtu
25-01-2017, 19:54:29
Tenes que usar el evento OnGetValue (http://docwiki.embarcadero.com/Libraries/en/FMX.Grid.TCustomGrid.OnGetValue)

Ejemplo con un TGrid con dos columnas de tipo TStringColumn creadas en tiempo de diseño


type
TForm1 = class(TForm)
Grid1: TGrid;
StringColumn1: TStringColumn;
StringColumn2: TStringColumn;
procedure FormCreate(Sender: TObject);
procedure Grid1GetValue(Sender: TObject; const ACol, ARow: Integer; var Value: TValue);
end;

var
Form1: TForm1;

implementation

{$R *.fmx}

const
Datos: array[0..1, 0..4] of string =
(('A', 'B', 'C', 'D', 'E'),
('Uno', 'Dos', 'Tres', 'Cuatro', 'Cinco'));

procedure TForm1.FormCreate(Sender: TObject);
begin
Grid1.RowCount := 5;
end;

procedure TForm1.Grid1GetValue(Sender: TObject; const ACol, ARow: Integer; var Value: TValue);
begin
Value := TValue.From<string>(Datos[ACol, ARow]);
end;