none
Ajouter donné RRS feed

  • Question

  • Plop,

     

    Désolé pour ce titre peut "explicite" Je ne trouvais pas que mettre.

     

    Dans mon objectif ci-présent, j'ai un bouton "frmAddDeco" dans la form frmViewRecette.

     

     

    L'idée est que lorsque je suis dans la frmViewRecette, que je clic sur le bouton Ajouter une décoration, tac, ca m'ouvre frmViewDeco

     

    la voici l'idée littéral:

     

    Si frmAddDeco ouverte par frmViewRecette id recette = x

    {

    double clic sur la déco à ajouter

    récupère l'id y de la déco

    rajoute y à x et change status de id en "utilisé"

    }

     

    le status est dans la base, il faut donc faire un update.

     

    Jsais pas si jsuis très précis xD

     

    Voici mes tables:

     

    recette

    deco

    arom

    the

    composantToRecette

     

    composantToRecette contient les champs suivant:

     

    id

    category (== deco, thé, arom)

    product   (== thé pêche, arom menthe, deco banane etc.)

    price      (== Pour calculer après combien coute la recette, prix du produit donc)

    recette    (== L'id de la recette)

     

    Donc

     

    recette id y contient le produit id x de la catégorie deco, dont le prix est 10.-

     

    Voila, jsais pas si jsuis très précis, n'hésiter pas a me questionner :]

     

    A+

     

    lundi 21 avril 2008 08:07

Réponses

  • Bonjour,

     

    Je ne comprends plus rien !

    Est-ce que tu peux être plus explicit au niveau de ton ToolStripMenu...

    Qu'appelles tu par "équivalent au doubleclic d'une row du DataGridView" ?

     

    Cordialement

    mercredi 23 avril 2008 10:03
    Modérateur

Toutes les réponses

  • Bonjour,

     

    Pour ma part, je n'ai pas bien saisie à partir de "Voici mes tables".

    Et pouvez-vous expliquer ce qui pose problème ?

     

    Cordialement

     

    lundi 21 avril 2008 11:16
    Modérateur
  • hum... jvais essayé autrement Stick out tongue

     

    http://www.casimages.com/img.php?i=0804210224273027847.png

     

    Ce qui nous intéresse ici, c'est que le double clic soit active seulement si on l'a cliquer sur "ajouter"

     

    lundi 21 avril 2008 12:24
  • Bonjour,

     

    Excusez-moi, mais votre schéma n'est pas très explicite...

    J'ai compris (enfin je pense) que vous utilisez la même fenêtre frmViewDeco dans 2 appels différents et vous souhaitez que dans l'un des appels un bouton soit grisé...

     

    Dans ce cas, prévoyez une méthode dans la classe de la fenêtre en question :

     

    Code Snippet

    public void DesactiverBouton()

    {

    this.bouton.Enabled = false;

    }

     

    Et au moment de l'appel de cette fenêtre  (ou vous ne souhaitez pas activer le bouton) :

     

    Code Snippet

    frmViewDeco f;

    f = new frmViewDeco();

    f.DesactiverBouton();

    f.ShowDialog();

     

    Cordialement

    lundi 21 avril 2008 18:52
    Modérateur
  • Bonjour,

     

    Merci pour ton message,

     

    Mais est-ce que je ne dois pas lui dire

     

    "si tu viens de frmAddRecette, le doubleclicRowDatagridView = true; ?"

     

    mardi 22 avril 2008 06:37
  • Bonjour,

     

    C'est aussi une autre solution, plus difficile à mon goût et peu flexible...

    Si on imagine que votre projet fasse 1000 fenêtres, vous souhaitez ajouter une nouvelle frmNouveau qui appelle frmViewDeco. Vous voulez désactiver aussi ce bouton dans frmViewDeco...

     

    Dans ce cas, vous devrez modifier votre fenêtre frmViewDeco pour lui dire :

    "Si tu viens de frmAddRecette ou frmNouveau, le doubleclikRowDataGridView est autorisé"

     

    L'inconvénient, il se peut qu'en modifiant frmViewDeco, que vous ayez de nouveaux bug à d'autre endroit de votre application qui fait appelle à celle-ci... Il faudra donc tester et retester automatiquement toutes les fenêtres qui font appel à frmViewDeco afin que l'on soit sûr qu'il n'y a pas bug de régression...

     

    Cela se fait énormement sentir dans de grosses applications !

     

    L'avantage de ma solution, est de permettre plus tard de faire appel à cette fenêtre sans changer quoi que ce soit dans frmViewDeco...

     

    Cordialement

    mardi 22 avril 2008 07:07
    Modérateur
  • Salut,

     

    Une dernière fois pour être sur que l'on s'est compris Stick out tongue.

     

     

    si la fenêtre frmViewArom par exemple, s'ouvre normal, par le bouton "voir les arômes". Le double clic du datagridview est sur false.

     

    Si la fenêtre s'ouvre maintenant par le bouton "ajouter un arom" de la fenetre "FrmEditRecette", le double clic est sur true.

    Lorsque on à double cliquer sur un arôm, celui si s'insère de la database des composants pour la recette à l'id xyz.

     

    Est-ce que tu l'avais bien compris comme ça?

     

    mardi 22 avril 2008 07:54
  • Bonjour,

     

    + ou -

    Globalement, j'avais compris que tu voulais utiliser la même fenêtre :

    • Soit pour sélectionner un élément dans iun DataGridview
    • Soit pour consulter les éléments (en lecture seule) dans le DataGridView

    Dans ce cas au niveau du bouton "voir les arômes", n'oubliez pas d'appeler la méthode DesactiverSelectionDataGridView() avant l'appel de ShowDialog()

     

    Dans mes précédents posts j'avais donné un exemple de code qui désactive un bouton, il faut changer ce code pour qu'il désactive la sélection de votre DataGridView...

     

    Cordialement

    mardi 22 avril 2008 20:02
    Modérateur
  • Plop,

     

    C'est dans un toolstripmenu.

     

    Comment faire pour le this.button ? ce button doit être équivallant au doubleclic d'une row du datagridview qui ajoutera ensuite le produit à la recette.

     

     

    *** c'est compliqué -_-

     

    mercredi 23 avril 2008 05:42
  • Bonjour,

     

    Je ne comprends plus rien !

    Est-ce que tu peux être plus explicit au niveau de ton ToolStripMenu...

    Qu'appelles tu par "équivalent au doubleclic d'une row du DataGridView" ?

     

    Cordialement

    mercredi 23 avril 2008 10:03
    Modérateur
  • Salut

     

    J'ai 4 form:

     

    frmPrincipal

    frmViewRecette

    frmViewArom

    frmAddAromToRecette

     

    frmPrincipal peut afficher frmViewArom, qui contirnz un dataGridView pour afficher les aromes.

    frmViewRecette a un bouton "ajouter un arom a la recette" qui ouvre frmViewArom avec la possibilité de doubleCliquer sur une rows du datagridview pour ajouter cette arom à la recette.

     

    Voilà :}

     

    mercredi 23 avril 2008 11:36
  • Bonsoir,

     

    Dans ce cas applique la méthode que j'ai évoqué dans mes posts précédents...

     

    Cordialement

    mercredi 23 avril 2008 19:37
    Modérateur