Pour Serge,
Bonjour,
Voici le petit programme pour la gestion des indexes directement sur les dbGrids (i.e. sans modifier les requêtes d'affichage).
La base SQLite se crée automatiquement (le répertoire, le fichier.db vide et les enregistrements).
Elle est en VCL avec les drivers SQLite 3.8.7 Win32 et Win64 (fournis dans le zip - par défaut 32). Téléchargement : ici.
Quelques remarques
La base est en VARCHAR
- la gestion des accents est correcte au niveau du tri (voir les prénoms)
- la gestion des NOMS est un tri par NOM et PRENOM (voir le code)
PS
- Fonctionne en mode debug même si la base est déjà créée. Mais pas en release car dans ce cas là :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 except {$IFDEF DEBUG} on E: EFDDBEngineException do Showmessage(E.Errors[0].Message); {$ELSE} Close; MessageDlg( 'Création des tables internes impossible. ' + 'Le programme va s''arrêter.', TMsgDlgType.mtError, [TMsgDlgBtn.mbOK], 0); Application.Terminate; {$ENDIF} end;
- A tester -> Sur une grande base, comment cela-fonctionne-t-il ? Impact ou non de l'utilisation de la propriété CachedUpdate signalée par Thierry Laborde dans une autre discussion.
- En ToDo List -> Comment fait-on cela en FireMonkey (la flèche incrustée dans l'entête indiquant le sens de la colonne triée) ? Avec les styles ? J'ai fait l'équivalent en Lazarus avec un champ de recherche également intégré dans l'entête... Mais sans rapport aucun avec FMX :mrgreen: On étudiera cela aux prochaines vacances.
http://www.selzig.com/1411011200/4.png