Insérer un enregistrement dans un ensemble de données depuis une grille avec LiveBindings

Faire un programme utilisant une table (par exemple du SQLite ou IBLite) qu'il affiche dans une grille, c'est facile en utilisant LiveBindings : il suffit de placer les composants à l'écran, les activer et faire le lien visuellement depuis le concepteur LiveBindings.

Pour les déplacements dans l'ensemble de données et le déclenchement de mises à jour il suffit d'ajouter un TBindNavigator et le rattacher de la même façon à l'ensemble de données.

A l'utilisation tout fonctionne très bien à part les insertions qui ont parfois un bug d'affichage sur les grilles alimentées par LiveBindings. En revanche ça fonctionne sur Append plutôt que Insert.

Voici un exemple de cafouillage que vous avez peut-être déjà vu dans vos projets.

Et bien j'ai une bonne nouvelle pour vous : c'est corrigé avec Delphi 10.4 Sydney !

Vous pouvez télécharger ce code source pour faire des tests si vous le désirez et en profiter pour voir comment créer une bases de données SQLite locale au démarrage du programme.

Si vous avez des projets sur lesquels vous aviez laissé ce fonctionnement et aviez de temps en temps des problèmes d'affichage, passez simplement à la nouvelle version de Delphi. Recompilez vos projets pour corriger le problème et bénéficier de ses nombreuses améliorations.

Si vous ne pouvez pas y passer, il vous faut intercepter l'opération d'insertion et forcer un "append" à la place.


Mug Pascal case in AlexandrieMug carte postale Sydney