Bonjour,
C'est encore moi
Voilà, j'ai suivi ce tuto http://www.malcolmgroves.com/blog/?p=1084 pour faire du livebindings entre une liste d'objet et une grille mais ça marche pô
La déclaration de ma classe est la suivante:
Je ne veux voir dans les colonnes de la grille que les champs Name et Description
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 type TPriority = class private FID: Integer; FName: string; FDescription: string; FIsVisible:boolean; public property Name:string read FName write FName; property Description : string read FDescription write FDescription; property ID : Integer read FID write FID; property IsVisible:boolean read FIsVisible write FIsVisible end;
J'ai donc posé sur ma fiche un TAdapterBindSource que j'ai couplé à un TDataGeneratorAdapter dans lequel j'ai défini la propriété fieldDefs sur les champs que je veux voir.
J'ai codé la création de l'adapter
J'ai ensuite fait le livebindings comme sur l'image jointe. A priori tout va bien, mais à l'exécution j'ai le message d'erreur "EEvaluatorError:Impossible de trouver Selected" suivi de "EBindCompError: EvalError dans LinkGridToDatasource1- impossible de trouver Selected" ma grille apparait alors avec les colonnes définies, mais vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ABindSourceAdapter:=TListBindSourceAdapter<TPriority>.Create(self,MyPriorityList,true);
J'ai d'abord mis ça sur le dos du composant grille. J'ai alors fait le livebindings sur la propriété Item.Text d'un combobox. Là, pas d'erreur mais le combobox reste vide alors que ma collection contient bien des objets.
Quelqu'un a-t-il une piste?
Partager