IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Simuler un appui sur un DBGrid


Sujet :

C++Builder

  1. #1
    maw
    maw est déconnecté
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Simuler un appui sur un DBGrid
    Bonjour,
    je n'arrive pas à simuler un appui sur un DBGrid. Mon dbgrid est linké à une table, je fait un ajout dans la table, puis je fait un refresh de l'affichage, ensuite le problème viens du fait que la premiere ligne est "grisé", comme lors d'un appui souris, alors que je souhaite que ce soit le dernier enregistrement.

    Merci pour votre aide.

  2. #2
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonsoir,
    Essais peut etre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form1->DBGrid1->DataSource->DataSet->Last();
    @ +

  3. #3
    maw
    maw est déconnecté
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Simuler un appui sur un DBGrid
    et bien non car ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBGrid1->DataSource->DataSet->Last();
    positionne le curseur sur le derrnier enregistrement, pas le dernier inséré mais le dernier de l'index et comme j'effectue un tri ds ma requette sql et qu'il n'est pas sur un incrément mais sur un index de categorie la methode last() ne me sert pas à grand chose. Ce que je cherche à faire c'est apres avoir fait un ajout dans la table puis un refresh, c'est répurer en gros l'index de ma derniere entrée puis faire un genre de OnClick() sur ma derniere entrée afin qu'elle est le focus et qu'elle soit grisé, mais je n'y arrive pas.

  4. #4
    maw
    maw est déconnecté
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Simuler un appui sur un DBGrid
    J'ai deja essayer avec FindField mais il me fait un truc bizare sur l'affichage, il me double mon entée visuellement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Table->Edit();
    Table->FindField("designation")->AsString = "mon articles";
    Table->Post();

  5. #5
    maw
    maw est déconnecté
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Quelqu'un à t'il une idée sur le sujet, ou du moins une vois dans laquelle je pourrai chercher.
    Merci

  6. #6
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Salut,
    J'ai cherché du coté de AfterPost() de l'objet TTable alimentant un DBGrid pour le test, mais en fait pour l'instant je n'ai pas été capable d'utiliser a bon escient l'info récupérée...
    @ +

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Je n'utilise pas DBGrid, mais peut-être que tu devrais voir du côté de RecNo de ton TDataSet ou alors en jouant avec les Bookmarks (GetBookmark() et GotoBookmark()).

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
      // Sauver la position actuelle dans la table
      TBookmark SavePlace;
      SavePlace = Table1->GetBookmark();
     
      // Ajouter des enregistrements ou trier ici
     
      // Retourner à l'enregistrement qui était sélectionné avant l'ajout/tri
      Table1->GotoBookmark(SavePlace);
      Table1->FreeBookmark(SavePlace);
    (inspiré de l'exemple du manuel de GetBookmark)

  9. #9
    Membre habitué
    Avatar de Freeze
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 131
    Points : 162
    Points
    162
    Par défaut
    ben moi je sais ... il faut que tu utilises le Locate ... sur ton dataset ...

  10. #10
    maw
    maw est déconnecté
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Simuler un appui sur un DBGrid
    Merci Freeze et aussi les autres meme si c Freeze qui a trouvé.
    En effet avec locate() je positionne mon curseur de ma table directement sur un enregistrement que je choisi comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DBGrid1->DataSource->DataSet->Locate(
                    "designation",
                    designation,
                    TLocateOptions() << opt
    );
    Et en plus, ca marche.
    Merci a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simuler l'appui sur un boutton via un lien
    Par javaboy dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2007, 15h20
  2. Réponses: 3
    Dernier message: 19/02/2007, 09h30
  3. Réponses: 2
    Dernier message: 02/01/2007, 12h47
  4. [D7] Simuler l'appui sur la touche VERR MAJ ??
    Par fredfred dans le forum Delphi
    Réponses: 8
    Dernier message: 14/06/2006, 14h23
  5. Simuler l'appui sur une touche, au niveau système
    Par debutant java dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/08/2004, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo