Pointer sur plusieurs sources de données
Bonjour,
Je suis en train de porter mon appli VCL vers FMX.
Pour choisir les critères de recherches sur le base de données j'utilisais un TCombobox et un fois la sélection faite je remplissais un DBGrid dans lequel l'utilisateur choisissais la valeur voulue .
Code:
1 2 3 4 5 6 7 8 9 10
| begin // Recherche sur la Collection
with DM2.FDQRecherche.SQL do
begin
Clear;
Add('SELECT C.num_collection, ');
Add('C.Collection AS collection_i ');
Add('FROM collections C ');
Add('ORDER BY collection_i ');
end;
DBChoix.DataSource := DM2.DSRecherche; |
Comme cela je n'utilisais qu'une seul DBGrid que je remplissais avec la bonne requête. Un double clic sur la valeur choisie
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| procedure TForm1.RechercheListe(IdRecherche: Integer; IdIndice: Integer);
var // IdRecherche : champ de recherche case..of
SQLCode: TStringList; // IdIndice : Identifiant à rechercher
begin
SQLCode := TStringList.create;
SQLCode.Clear;
SQLCode.assign(DM2.SQLLivres);
DM2.FDQLivres.active := False;
DM2.FDQLivres.SQL.Clear;
case IdRecherche of
.....
12:
begin // Recherche sur la collection
SQLCode.Add(DM2.SQLChoix + 'L.num_collection=:saisie');
SQLCode.Add(DM2.SQLTri + 'L.Titre');
compteId1 := 'num_collection';
end;
end;
compteId2 := IdIndice;
DM2.FDQLivres.SQL := SQLCode;
DM2.FDQLivres.ParamByName('saisie').Value := IdIndice;
DM2.FDQLivres.open;
SQLCode.Free; |
Est-il possible de garder cette même façon de faire en FMX ? Sous réserve qu'elle ne soit pas non plus absurde.
Cela je pense pourrait se traduire par la création d'une liaison par programmation sans bien sûr utiliser le concepteur même en mode expert.
Au passage merci à Serge pour sa doc sur les LiveBindings, il est indiqué d'ailleurs que pour le Tgrid
Citation:
Cette partie est si complexe que je préfère en limiter les explications...
J'ai bien peur effectivement que cela le soit trop pour mon niveau.
PS : version 10.3 community + Firebird