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 :

DBGrid, valider l'insertion


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut DBGrid, valider l'insertion
    salut tout le monde,
    je veux inserer dans ma DBGrid des valeurs depuis une autre fiche, après l'insertion d'une ligne vide, j'arrive à inserer une ligne vide avec le bouton nbInsert, celle la sera remplise avec les valeurs des champs de la nouvelle fiche après que l'utilisateur apuis sur ok, mais si l'utilisateur annule, la ligne vierge est tjr présente tant que je n'ai pas cliqué sur ma DBGrid,

    2iement: lors de la validation j'insert les données dans les cases avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBGrid1->Columns->Items[i]->Field->Value="maValeur";
    mais cette nouvelle ligne n'est pas validée que lorsque je clique sur une autre ligne
    aidez moi svp

  2. #2
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    bon je crois que c'est impossible de faire les modifications et l'insertion directement sur ma DBGrid (après faire une petite tour sur le forum)
    si me trompe pas je doit faire cela sur mon ADOTable (Edit, insert ...post ) avec un refrechement de ma source de données, je vai tester ça chez moi je vous tiendrai au courant merci

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par défaut
    Je n'en suis pas sûr effectivement que tu peux faire tes modifs depuis le dbgrid en codant. Par contre, si tu écris directement sur ton composant TADO (avec des edit(), post()) là tu écris bien dans ta bd.

    De même, d'une autre fiche, si tu écris dans le TADO et non dans la grid, ta modification sera prise en compte directement dans le grid car le datasource de la grid est relié sur le TADO. Du coup, tu n'auras même pas besoin de faire un refresh, ce sera automatique.

  4. #4
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    merci kurkaine j'ai testé ça ça marche très bien, le probleme qui se pose c'est que dans l'autre fiche j'utilise des TEdit pou certains champs je dois vérifier le texte avant de poster, par exemple le champs "prix d'achat" doit contenir un money (exemple 2500, 11.25,......) c'est faisable en analysant le texte lettre par lettre mais c'est un peu lourd pour moi, il y a t'il une astuce??

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par défaut
    Pas à ma connaissance. J'ai eu le même problème que toi, concernant les dates, et les formats monétaires. Je ne sais pas s'il existe des api de BCB permettant de valider un de ces bons formats. Maintenant je sais que pour les dates, il doit y'avoir ce qu'il faut.

    Je me suis écris une classe permettant de gérer tout ça. Voici mes fonctions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
     //-- Retourne vrai si asMoney est un format monétaire
    bool IsMoney(AnsiString asMoney, AnsiString asMoneyApp, AnsiString asMoneySeparateur);
     
    //-- Ajoute ,00€ à un montant : 123,00€
    AnsiString SetFormatMonaie(AnsiString asMoney, AnsiString asMoneyApp ,AnsiString asMoneySeparateur); 
     
    //-- Retourne la chaine prète à etre insérer dans la bd
    AnsiString StringToMoney(AnsiString asMoney , AnsiString asMoneyApp, AnsiString asMoneySeparateur);           
     
    //-- Retire le € d'un montant
    AnsiString MoneyToString(AnsiString asMoney, AnsiString asMoneyApp, AnsiString asMoneySeparateur);  
     
    //-- Retourne une chaine "123,45€" en chiffre 123.45
    float CalcMonnaie(AnsiString asMontant, AnsiString asMoneyApp, AnsiString asMoneySeparateur);
    asMoneyApp: soit €, soit Fr, soit $...
    asMoneySeparateur : soit . soit , (pour 13,34€ ou 13.34€)


    Comme tu peux constater c'est un peu lourd, mais je n'ai pas trouvé d'autre solution. Si tu en trouves, je suis preneur. En attendant, si tu veux, je peux te filer le code de mes classes, elles fonctionnent correctement.

  6. #6
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    j'ai trouvé un composant dérivé de TEdit qui filtre les caractere selon le type choisi (date, float.....) j'ai choisi float ça m'arrange très bien, le composant est TAdvEdit téléchargeable en version d'evaluation sur le site wwww.tmssoftware.com
    mais ça sera gentil de m'envoyer ton code
    merci kurkaine

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

Discussions similaires

  1. [FireBird] Valider/Annuler insertions multiples
    Par windmastr26 dans le forum Bases de données
    Réponses: 6
    Dernier message: 29/01/2011, 11h55
  2. [ADO.net] validation d'insertion
    Par nightcyborg dans le forum C#
    Réponses: 0
    Dernier message: 30/07/2009, 12h08
  3. Couleur dans DBgrid a l'insertion
    Par mamou30 dans le forum Bases de données
    Réponses: 8
    Dernier message: 08/05/2007, 00h14
  4. Mettre un DBGrid en mode insertion
    Par n1portki dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/10/2005, 02h07

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