Salut tout le monde,
J'ai un DBGrid qui contient des centaines de lignes. J'aimerais donc positionner le curseur sur une ligne correspondant à un critère de recherche.
Mais je ne sais pas comment faire![]()
Salut tout le monde,
J'ai un DBGrid qui contient des centaines de lignes. J'aimerais donc positionner le curseur sur une ligne correspondant à un critère de recherche.
Mais je ne sais pas comment faire![]()
Salut
Il suffit de faire un Locate (ou autre méthode de recherche) sur le DataSet du DBGrid.
Tout déplacement dans le DataSet se reflète dans le DBGrid.
@+ Claudius
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
Comment s'utilise "Locate"?
J'ai penser à quelque chose:
* Positionner le curseur au debut du dataset
* Parcourir les lignes du dataset avec un "While not dbgrid.datasource.dataset.eof do"
* Si l'enregistrement recherché est trouvé, alors "break".
Est-ce une bonne methode?
Slt; chez moi sa marche très bien à 100% le locate avec bien sur d'indexé le champ voulu dans la BDD.
exemple :
voila un exemple , a testé là ou je suis j'ai pas delphi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure Tfetab.Edit2Change(Sender: TObject); var option:tlocateoptions; begin dm1.tetabe.First; if edit2.Text<>'' then begin option:=[lopartialkey]; dm1.tetabe.Locate('etablissement',edit2.text,option); end ; end;
+1 Clau Clau
Hello
Qu'est-ce que tu veux dire par là ?
La recherche échoue si les critères de recherche ne sont pas trouvés. Ou bien tu sous-entend qu'avec certains composants cette fonction n'est pas fiable: Echec de la recherche alors qu'une occurrence existe.
Locate déplace le curseur du DataSet, donc oui à n'utiliser qu'à bon escient.
@+ Claudius
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
Partager