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

Langage Delphi Discussion :

datetimepicker et DBgrid


Sujet :

Langage Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    857
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 857
    Points : 267
    Points
    267
    Par défaut datetimepicker et DBgrid
    bonjour,

    est ce qu'il y une astuce pour mettre un choix de date dans un TBgrid ?

    actuellement je fait comme ceci:

    - je met un bouton ellipsis dans la colonne souhaitée
    - sur l'événement de ce bouton => Tcalendar.visible:=true;
    - j'ai mis un menu popup relié à ce Tcalendar: une fois que l'utilisateur à choisi sa date, il active le menu popup => je renvois la valeur date du calendrier dans le champ en question et je rend non visible le calendrier

    ca fonctionne bien
    mais aujourd'hui j'ai 3 champs date dans un TBgrid: donc 3 Tcalendar, 3 menu popup ... ca fait brouillon !!!

    est ce qu'il ni aurait pas plus simple ?

    merci

  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Tu ne peux pas utiliser le même TCalendar, TmenuPopup plutot que d'en utiliser 3?

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Citation Envoyé par sat83 Voir le message
    Tu ne peux pas utiliser le même TCalendar, TmenuPopup plutot que d'en utiliser 3?
    +1

    la seule chose à faire est de tester la colonne qui est censée répondre au calendrier!

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    857
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 857
    Points : 267
    Points
    267
    Par défaut
    salut

    j'y ai pensé mais comment faire pour renvoyer la valeur sur le bon champ ?
    autrement dit comment identifier le champ qui à appelé le calendrier ?

    Exemple:
    Voila le bout de code venant du menu popup qui renvoie la date dans le champ table4DATE_EST

    mais si je dois renvoyer vers un autre champ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm3.Fermer1Click(Sender: TObject);
    begin
    if table4.State in [dsedit,dsinsert] then
    begin
    table4DATE_EST.Value:=monthcalendar1.Date;
    monthcalendar1.Visible:=false;
    end;

    A+

  5. #5
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    ayant repris ton code voilà ce que je peux te proposer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure _do(champ : TField);
    begin
      champ.Value := Form3.monthcalendar1.Date;
      Form3.monthcalendar1.Visible := False;
    end;
     
    procedure TForm3.Fermer1Click(Sender: TObject);
    begin
      if table4.State in [dsedit,dsinsert] then
        _do(table4DATE_EST);
    end;
    à présent tu peux utiliser la procédure _do à ton guise rien qu'en lui passant un paramètre de type TField.

    NB : écrit sur le tas donc rien n'est sûr

    Bonne chance.

Discussions similaires

  1. DBLookupComboBox dans DBGrid
    Par KThrax dans le forum Bases de données
    Réponses: 7
    Dernier message: 24/08/2004, 15h18
  2. DateTimePicker
    Par benj63 dans le forum C++Builder
    Réponses: 5
    Dernier message: 08/07/2002, 12h05
  3. Couleur des lignes dans DBGrid
    Par eddie dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2002, 18h15
  4. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18
  5. [Kylix] Contrôle DBGrid
    Par KThrax dans le forum EDI
    Réponses: 1
    Dernier message: 10/05/2002, 14h18

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