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

Composants VCL Delphi Discussion :

Pb avec DBgrid et base de données


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut Pb avec DBgrid et base de données
    Bonjour à toutes et tous

    J'ai une base de données ou j'affiche dans le DbGrid les valeurs filtrées. Je souhaite les modifier.
    Après sélection de la cellule à modifier à l'aide de la souris je tape une nouvelle entrée au clavier.
    Aucune lettre n'est saisie et en plus toutes mes lignes déjà saisies disparaissent.
    Es ce un Pb d'options ?

    Nom : Options.JPG
Affichages : 258
Taille : 38,6 Ko

    Par avance merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    il me semble qu'il faille ôter le multiselect
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Merci Sergio,

    J'ai essayé mais toujours le même Pb !

  4. #4
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Bonjour tous

    Je me répond à moi même, j'ai enfin trouvé la solution.
    J'avais implémenté sur ma fenêtre la procédure suivante

    procedure TForm4.FormKeyPress(Sender: TObject; var Key: Char);
    begin
    // activation de la touche escape
    if Key = #27 then modalresult:=mrCancel;
    end;

    Je l'ai supprimée et miracle je peux maintenant modifier sans problème mes données.

    Par contre je ne comprend pas le pourquoi de la chose car cela marche bien dans n'importe quelle autre fenêtre quand on veut quitte avec la touche 'Escape'.
    Je marque néanmoins résolu

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 455
    Points : 24 867
    Points
    24 867
    Par défaut
    Pense au bouton avec TButton.Cancel à True, cela gère l'ESCAPE

    La touche ESCAPE est aussi utilisé par la TDBGrid pour quitter le mode Saisie
    Peut-être un conflit avec le dgAlwaysShowEditor
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Voici ce que dit la doc sur XE6 pour

    dgAlwaysShowEditor :
    La grille est toujours en mode édition. Ainsi, quand un utilisateur sélectionne un champ, le champ est en mode édition. L'utilisateur ne doit pas appuyer sur ENTREE ou F2 avant de modifier le contenu d'une cellule. Cette option ne fait rien sauf si dgEditing figure aussi parmi les options. Elle est ignorée si la liste d'options inclut dgRowSelect.


    Par contre ta remarque
    Pense au bouton avec TButton.Cancel à True, cela gère l'ESCAPE
    Je l'avais essayée sur le bouton quitter de ma fiche, et cela à le même effet que ma procédure Keypressed

  7. #7
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Bonsoir,

    A mon avis, un DBGrid ou un StrinGrid n'est pas l'endroit idéal pour modifier/Insérer des données.
    Pourquoi ne pas utiliser des zones d’édition sur la même fiches ou même une autre fiche modale.
    Nom : Editor.png
Affichages : 251
Taille : 82,5 Ko
    J'ai tendance à ne plus utiliser les contrôles orientés données dès que le projet est un peu compliqué.
    Allez courage.

    Andry
    On progresse .....

  8. #8
    Membre habitué
    Homme Profil pro
    Dev informatique retraité
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev informatique retraité
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 171
    Points
    171
    Par défaut
    Je pense en effet que je vais m'orienté vers cette solution.

    Merci pour toutes vos remarques

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Points : 133
    Points
    133
    Par défaut
    j'aime bien changer les données dans le dbgrid car je trouve plus pratique/rapide pour changer par exemple le prix des 3 articles listés, au lieu d'ouvrir 3 fois leur fiche.

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par exyacc Voir le message
    j'aime bien changer les données dans le dbgrid car je trouve plus pratique/rapide pour changer par exemple le prix des 3 articles listés, au lieu d'ouvrir 3 fois leur fiche.
    tout dépend du contexte ! dans un environnement multi-utilisateur un DBGrid peut être très dangeureux (sauf a bien régler les transactions) , dans un environnement non local (attaque d'une base de données en réseau virtuel) rapatrier les données dans une DBGrid est très "consommateur" d'octets (ce que l'on a tendance à oublier avec les machines de plus en plus puissantes et le débit de plus en plus rapide)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. [MySQL] Système de gestion avec calendrier et base de données
    Par almisuifre dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 14/12/2006, 23h08
  2. [SQL2K] : Synchronisation avec d'autres bases de données
    Par zalalus dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/07/2006, 17h07
  3. pb avec mysql comme base de données
    Par rpd05 dans le forum Installation
    Réponses: 1
    Dernier message: 27/06/2006, 21h12
  4. Liaison de table avec une autre base de donnée
    Par freya91 dans le forum Access
    Réponses: 1
    Dernier message: 03/06/2006, 00h08
  5. [VBA-E] Requète SQL avec chemin de base de données variable
    Par Svart26 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/05/2006, 13h29

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