Voila j'ai un petit problème avec mon TDBGrid, certes pas très grave et qui n'empeche pas mon application de fonctionner mais bon c'est tout de meme pas propre.
En fait j'enregistre un visiteur via un formulaire crée avec des TEdit. Ensuite je l'envoi dans ma table (connectée à ma base de donnée) de la manière suivante :
- Code lorsque je clique sur le bouton Ajouter :
- puis fonction suivante pour ajouter le visiteur dans la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void __fastcall TForm1::AGGIUNGERE_VISITATOREClick(TObject *Sender) { TLocateOptions Option; if(TBVisit->Locate("cognome",cognome_visitatore->Text,Option)==true) return; TBVisit->Append(); aggiornare_visitatori(); ShowMessage("Visitatore aggiungere"); }
Ce que je ne comprends pas, c'est que mon visiteur est bien rajouté UNE SEULE FOIS lorsque l'on verifie dans la table de la base de donnée (type ACCESS) par contre visuellement dans mon TDBGrid mon visiteur apparait 2 fois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void __fastcall TForm1::aggiornare_visitatori() { TBVisit->Edit(); TBVisit->FieldByName("Cognome")->Value = cognome_visitatore->Text; TBVisit->FieldByName("Documento")->Value = documento_visitatore->Text; TBVisit->FieldByName("Motivo")->Value = motivo_visitatore->Text; TBVisit->FieldByName("Entrata")->Value = entrata_visitatore->Text; TBVisit->FieldByName("Uscita")->Value = uscita_visitatore->Text; TBVisit->Post(); TBVisit->Refresh(); }
- une fois sur la première ligne du tableau
- une autre fois sur la dernière ligne
Si par la suite je modifie ce visiteur (à l'aide d'un bouton Modifier) le visiteur apparait cette fois ci normalement (soit une seul fois)
Si quelqu'un connait un moyen de remerdier a cela ?
Sinon question supplémenentaire : Est-il possible de trier un TDBGrid en fonction de la colonne où l'on clique. Par exemple si je clique une fois sur la colonne Nom il me trie par ordre croissant les nom, et si je reclique il le fait par ordre dècroissant et ceux pour toutes les colonnes ? Comme dans beaucoup d'applications d'ailleurs.
Merci pour vos futurs éclairages :-)
Partager