Voir le flux RSS

Blog de Serge Girard (aka SergioMaster)

[Delphi] Livebindings et relation Maitre Détail

Noter ce billet
par , 16/11/2018 à 17h43 (485 Affichages)
Jusqu'à présent j'utilisais toujours le TDataset pour lier entre elles deux requêtes.
Sur le forum Embarcadero Markus a posé une question qui m'a interpellé.

Est-il possible de se passer du TDatasource et passer directement les paramètres par Livebindings
Ci-dessous un interface simple
Nom : MaitreDetailForm.PNG
Affichages : 768
Taille : 18,8 Ko

Les liaisons faites avec le concepteur visuel
Nom : MasterDetailLinks.PNG
Affichages : 752
Taille : 18,8 Ko

Nous pouvons constater que rien ne permet d'accéder au paramètre de la requête sur les commandes (FDQuery2)
C'est sans compter sur les liaisons manuelles, j'ai rajouté un lien TBindLink pour pouvoir remplir la propriété ParambyName('CustomerID')
Nom : MaitreDetailBinding.PNG
Affichages : 60
Taille : 27,0 Ko

Toutefois ce n'est pas suffisant puisque le rafraichissement de la requête sur les commandes ne se fait pas
Qu'à cela ne tienne utiliser l'événement OnAssignedValue du lien sur la Liste client me permet de le faire
Nom : MaitreDetailBinding2.PNG
Affichages : 60
Taille : 17,2 Ko

Seul code de ce programme fait à la va-vite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
procedure TForm23.LinkListControlToField1AssignedValue(Sender: TObject;
  AssignValueRec: TBindingAssignValueRec; const Value: TValue);
begin
FDQuery2.Refresh;
end;
Et voilà petite vidéo à l'appui l'exécution https://serge-girard.developpez.com/...eBindings.webm

Bon, ce n'est pas une technique que j'encouragerais, je trouve le TDataSource beaucoup plus pratique pour ce genre de choses, le but de ce billet était plutôt de démontrer que c'était possible

Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog Viadeo Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog Twitter Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog Google Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog Facebook Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog Digg Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog Delicious Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog MySpace Envoyer le billet « [Delphi] Livebindings et relation Maitre Détail » dans le blog Yahoo

Mis à jour 19/11/2018 à 12h56 par SergioMaster

Catégories
Programmation , Delphi

Commentaires