Bonjour à tous,
je développe sous delphi 10.2 tokyo une application mobile android. J'interroge une API (format json) via les compos RestClient, RestRequest, RestResponse et Restresponsedatasetadapter lié via un DataSource à un ClientDataSet pour lire le résultat dans un Tgrid lié via livebinding.
Les paramètres retour de l'API sont les suivants :
initialement, j'ai créé dans le Restresponsedatasetadapter.FieldDefs les éléments suivants :
- success ftboolean
- error ftstring
- salons ftarray size 7
et dans ChildDefs de salons :
- id ftinteger
- nom ftstring
- adresse ftstring
- cp ftstring
- ville ftstring
- tel ftstring
- facebook ftstring
à l'appel de l'API, la connexion est ok et le retour est ok : j'ai vérifié le content de RestResponse et j'ai bien mon JSON complet. mais l'affectation des données dans le clientdataset ne fonctionne pas correctement. En bidouillant suite aux remarques du forum https://stackoverflow.com/questions/...cts-and-arrays, j'ai supprimé du childdefs les 7 éléments du tableau (de id jusqu'à facebook) pour les mettre au même niveau dans Restresponsedatasetadapter.FieldDefs que j'ai mis à jour pour réactualiser les fielddefs du clientdataset et j'ai rajouté dans Restresponsedatasetadapter.RootElement la valeur "salons".
mais résultat, le fielddefs du clientdataset est différent : j'ai tous les champs au même niveau sauf le id qui reste dans le childdef du salons avec un name à "salons[0]"
et si je jette un oeil au concepteur livebinding, mon clientdataset dupplique les elements du champ salons :
au final, j'arrive à voir la liste des nom adresse cp ville tel facebook dans le grid et le listbox mais je n'ai pas le id ni le success et error, et j'ai des colonnes vides en trop (salons[0] jusqu'à[6]).
je crois que je n'ai pas tout paramétré correctement
un petit coup de main n'est pas de refus
merci beaucoup.
delaio.
Partager