ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Recherche incrémentale dans un grid   



L'auteur

Guy Bonemme
Belgique Belgique
Membre Simple
# 0000000029
enregistré le 15/10/2004

79 ans
BONEMME Guy
B-1410 Waterloo
Fiche personnelle


Note des membres
pas de note

Contributions > 20 - Trucs et Astuces

Recherche incrémentale dans un grid
# 0000000053
ajouté le 14/11/2004 23:23:29 et modifié le 14/11/2004
consulté 11596 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0

Zoomer sur l'image

Télécharger le ZIP (22.83 Ko)
Description

Démo d'une grille avec recherche incrémentale sur un ou plusieurs champs
et sans textbox supplémentaire.

Cette appli utilise la classe [ingrid.vcx] de:

  Classy Components Inc. (www.ClassyComponents.com)
        by R. Scott Mackay (Scott@ClassyComponents.com)
        Mise dans le domaine publique par l'auteur.
 
   Cette classe permet la recherche incrementale dans une grid
    elle intercepte les pressions sur le clavier et positionne le curseur
    par un locate ou un seek (si les indexes sont disponibles).  
    L'avantage de la classe est la prévisualisation de la recherche dans
    le 'header/caption" de la colonne du grid.
   (ex : la recherche est effectuée sur la 2eme colonne le header affiche les caractères entrés 'MOH')

 Ajout :
* Un click droit sur une des colonnes, sélectionne l'index corrrespondant
   et active la recherche incrémentale dans cette colonne
* Le contrôle ingrid.vcx peut être ajouté a autant de colonne que nécessaire
   y compris SANS index, et sur les vues.
 
* Un double click sur un des 2 colonne affiche le choix.

NB: Dans la démo, la DBF n'est pas fermée après le choix (double-click) mais uniquement après [Abandon]
       La fermeture ou non devra être gérée par le programme.


*===========================================================================
PEMs (Propriétés Events Methodes)

cLocateExpression:  Expression à localiser par SearchString (Utiliser ce contrôle si il
                               n'y a pas de TAG index disponible pour continuer la recherche).
cOrderTag:             Tag Index pour contrôler l'ordre d'affichage de la colonne active
                               (laisser vide pour utiliser l'index courant).
cSeekTag:               Tag Index utilisé pour le seek lors de la recherche
                               (laisser vide pour utiliser le cOrderTag ou l'index courant).
lInGridActive:          Flag pour activer/deasactiver l'interception
                               incrémentale des clés clavier.
lSearchPreview:       Flag pour activer/deasactiver la visualisation des lettres dans
                               le header de la colonne.

PEMs protégés

[cHoldCaption]:     Mémorisation dnom de l'entête de la colonne (caption) pour permettre la restauration.
[cSearchString]:    Chaîne à rechercher utilisée pour le SEEK.
[KeySeek]:           Méthode de SEEK utilisée par InGrid.
[lSeekMode]:        Flag pour la suppression du GotFocus/LostFocus pendant
                            l'opération de recherche.
[nHoldRecord]:    Mémorisation/restauration de l'enregistrement courant en cas de seek erronné                 
[nLastPress]:        Dernière clé activée au clavier.

INSTRUCTIONS GENERALES :

- Ajouter le contrôle InGrid a chaque colonne devant bénéficier de la recherche incrémentale
  suivant les différents TAG index
  Désavantage nécessite plus de travail
 
- InGrid doit être activé comme contrôle actif dans chaque colonne.

- Si les PEMs de chaque contrôle sont similaires pour chaque colonne,
  éventuellement créer une sous-classe .

Commentaires
le 25/04/2006, Guy Bonemme a écrit :
Pour effacer l'objet text1 de la colonne concernée de la form après y avoir placé l'objet InGrid consulter la procédure mentionnée sur BeFOX:

http://www.emsystems.be/befox/articles.php?lng=fr&pg=307
Guy Bonemme

le 30/10/2018, Koen a écrit :

http://www.emsystems.be/befox/articles.php?lng=fr&pg=307
il n'existe plus,,,

le 30/10/2018, Guy Bonemme a écrit :
Oui Koen, Émile est décédé, il y a une +/-10a, hélas je n'ai pu récupérer le site à temps.
le 30/10/2018, Koen a écrit :
ignore
le 01/11/2018, Koen a écrit :
Guy,
C'etait Émile qui est le contructeur de cette bonne ingrid.vcx ou Scott Macay?
CDLMNT,
Koen


www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3