“Je modifie une cellule dans un contrôle de table, donc je devrais pouvoir savoir si cette cellule ou cette ligne est modifiée.”
.
LibreOffice et la gestion des macros en StarBasic n’est pas de tout repos.
.
Je tente d’intercepter la modification ou le changement de sélection d’une colonne liste déroulante d’un contrôle de table d’un sous-formulaire.
La colonne a un champ de données dont le contenu est une requête ou commande SQL. Je tente de me servir de l’événement ‘Statut de l’élément modifié’, mais LibreOffice ne le gère pas directement.
.
Voici mon constat :
.
| Élément | Ce qu’il est | Ce qu’il expose | Ce qu’il ne fait pas
| Colonne de contrôle de table | Liste déroulante | Événements comme Statut modifié | Ne gère pas l’état réel de modification
| Contrôle de table | Conteneur de colonnes | Peut appeler updateRow() | Ne possède pas isModified
| Sous-formulaire | Modèle de données | Possède updateRow() et parfois isModified | Ne sait pas ce qui a changé dans une cellule
| Contrôle actif dans une cellule | Instance dynamique | Peut déclencher des événements | N’est pas accessible directement via le modèle |
.
Est-ce que quelqu’un peut m’expliquer comment fonctionne ce foutoir?