Je devient malade !

tmsource Messages postés 23 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 janvier 2009 - 15 nov. 2008 à 01:04
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 - 17 nov. 2008 à 09:15
Salut tous le monde;
Épuiser, je ne sais quoi faire...
Est ce que quelqu'un sais comment faire pour travailler avec le "ButtonStyle" dont la valeur est "cbsEllipsis" (...) de DBGride, afin que quand je click sur ce dernier il m'affiche une autre Fiche (Form), sachant que j'utilise trois (...), c'est a dire pour trois champ est chaque champ doit m'afficher la fiche correspandente !??????????????????????
Merci ?

7 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
15 nov. 2008 à 22:11
bonsoir,


procedure TForm1.DBGrid1EditButtonClick(Sender: TObject);
begin
showmessage('tu as cliqué sur l'ellipsis !');
end;

cantador
0
tmsource Messages postés 23 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 janvier 2009
15 nov. 2008 à 23:24
Salut;
J'ai changé le bottonstyle en "cbsEllipsis" (...) de DBGride pour trois champs de ma table est je travail sur l'événement OnEditButtonClick..; Ex :
Champ 1 : (...) = affiche la forme 1;
Champ 2 : (...) = affiche la forme 2;
Champ 3 : (...) = affiche la forme 3;
Merci;
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
16 nov. 2008 à 01:40
bonsoir

essaye (je n'ai pas testé, il est 1h30 du matin ) :

DBGrid1OnEditButtonClick(Sender: TObject);
begin
  // la propriété col d'un tdbgrid représente le numéro de colonne de la cellule sélectionnée
  // il faut empêcher l'utilisateur de déplacer les colonnes mais là je ne sais plus quelle propriété changer
  if DBGrid1.Col = 2 then           // si la form1 doit être appelée par la 3ème colonne
  begin
    with TForm1.Create(Self) do
    begin
      try
        ShowModal();
      finally
        Free;
      end;
    end;
  end;

  if DBGrid1.Col = 4 then           // si la form2 doit être appelée par la 5ème colonne

  begin

    with TForm2.Create(Self) do

    begin

      try

        ShowModal();

      finally

        Free;

      end;

    end;

  end;


  if DBGrid1.Col = 0 then           // si la form3 doit être appelée par la 1ère colonne


  begin


    with TForm3.Create(Self) do


    begin


      try


        ShowModal();


      finally


        Free;


      end;


    end;


  end;

end;
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
16 nov. 2008 à 12:28
J'aurais nommé:        le champ pour la form1 : F1
                                le champ pour la form2 : F2
                                le champ pour la form3 : F3
 
et plus besoin de s'occuper du déplacement des colonnes...
bien sûr si les noms doivent pouvoir être changés alors :
il faut tester  par :
DBGrid1.Columns[i]

cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
16 nov. 2008 à 14:21
salut,
c'est clair que ce bout de code demande un peu plus de travail, mais c'est pour mettre tmsource sur la voie
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
16 nov. 2008 à 16:16
Salut,

juste un truc:

quand tu crées un objet que tu détruis après il n'est pas utile de mettre le paramètre "Self" met "nil" à la place

    with TForm1.Create(nil) do
    begin
      try
        ShowModal();
      finally
        Free;
      end;

ce paramètre est la pour définir le owner (celui qui sera chargé de détruire l'objet) ici c'est toi !!!

 
@+
Cirec

<hr siz="" />
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
17 nov. 2008 à 09:15
bonjour Cirec,

est-ce que le fait de passer nil au lieu de owner comme propriétaire de l'objet a-t-il une grande incidence sur les performances ou quantité de mémoire utilisée ? En fait, je savais que je pouvais passer nil, mais c'est une habitude de programmation (depuis delphi 1 ), alors ...
merci,
Luc.
0
Rejoignez-nous