[Delphi] Livebindings et relation Maitre Détail
par
, 16/11/2018 à 17h43 (1016 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
Les liaisons faites avec le concepteur visuel
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')
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
Seul code de ce programme fait à la va-vite
Et voilà petite vidéo à l'appui l'exécution https://serge-girard.developpez.com/...eBindings.webm
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;
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