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

Delphi Discussion :

Valeur par defaut dans une cellule d'un DbGrid


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Location de voitures
    Inscrit en
    Mai 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Algérie

    Informations professionnelles :
    Activité : Location de voitures
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2020
    Messages : 18
    Par défaut Valeur par defaut dans une cellule d'un DbGrid
    Comment définir une valeur par defaut dans une cellule d'un DbGrid, lors d'un nouveau enrégistrement ( click sur le "+" du dbNavigator), j'aimerais qu'une colonne donnée ait deja une valeur. Merci.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    c'est dans le dataset sous jacent que la valeur doit être inscrite le dbgrid ne fait que de l'affichage

  3. #3
    Membre actif
    Homme Profil pro
    Location de voitures
    Inscrit en
    Mai 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Algérie

    Informations professionnelles :
    Activité : Location de voitures
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2020
    Messages : 18
    Par défaut
    Les colones ou les cellules ne possedent pas de dataset dans propriétés. La meme question est posée précedement et la réponse etait d'implémenter une valeur dans l'evenement OnNewRecord, mais je ne sais pas comment.

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Un peu de sérieux, j'ai hésité à mettre un à votre dernier post.
    Un dbgrid a bien un dataset (une table ou une query) associé, or une table ou une query a un évènement onnewrecord donc, avec ces informations vous devez pouvoir faire vos initialisations sans soucis

  5. #5
    Membre actif
    Homme Profil pro
    Location de voitures
    Inscrit en
    Mai 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Algérie

    Informations professionnelles :
    Activité : Location de voitures
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2020
    Messages : 18
    Par défaut
    Les colones d'un dbgrid ne possedent pas de dataset dans leurs propriétés. dans dbgrid et datasource dataset existe. Et ma question est comment implémenter la valeur par defaut.

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 093
    Par défaut
    Vous avez TField.DefaultExpression pour une valeur plutôt SQL, je ne crois pas qu'elle s'affiche, elle doit être utilisé lors du Apply Updates \ Commit


    Avec l'IDE, dans le DataSet lié au DataSource qui est lié au DbGrid, il y un OnNewRecord, comme vous l'avez vu, suffit de faire un double-clic, cela va créer automatiquement un gestionnaire d'évènement et le code est ensuite très simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.Table1NewRecord(DataSet: TDataSet); 
    begin
      DataSet.FieldByName('ChampChaine').AsString := 'toto'; 
      DataSet.FieldByName('ChampDate').AsDateTime := Date(); 
    end;
    Mais ce code est tellement simple que je suppose qu'il y a un problème plus complexe dans votre question :

    Je suppose que vous souhaitez utiliser dynamiquement les valeurs par défaut du SGBD, selon votre bibliothèque il faudra lire les méta-data manuellement si vous souhaitez les voir par défaut.
    Pour vous aider à récupérer les valeurs par défaut via un équivalent d'un DESCRIBE , USER_TAB_COLUMNS en ORACLE, INFORMATION_SCHEMA.COLUMNS en SQL Server ... il faut nous préciser votre SGBD



    A savoir qu'un champ laissé à NULL sera remplacé par une valeur par défaut par le SGBD lors du INSERT sans qu'il soit nécessaire de les afficher.
    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

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

Discussions similaires

  1. [MySQL] la valeur du champ ID soit incrementale par defaut dans une table
    Par fleurrouge dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/02/2012, 10h05
  2. Valeurs par defaut dans une ComboBox
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/12/2008, 14h26
  3. Champ independant: valeur par defaut dans une Table
    Par bakaccess dans le forum Access
    Réponses: 2
    Dernier message: 27/02/2008, 15h35
  4. Réponses: 2
    Dernier message: 03/01/2007, 11h46
  5. Réponses: 6
    Dernier message: 06/09/2006, 14h50

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