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# Discussion :

Utilisation Combobox recherche sens "normal" et sens "inverse" [Débutant]


Sujet :

C#

  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Par défaut Utilisation Combobox recherche sens "normal" et sens "inverse"
    Bonjour,

    Voici mon problème, j'ai a ma disposition 3 combobox pour questionner une base de données: ComboLieux -> ComboFamille -> ComboOrgane
    Un combo pour Lieux, un pour Famille , un pour Organe , le but étant en fonction du lieux choisit sortir dans le comboFamille les Familles possibles dans ce lieux et ensuite en fonction de ces deux critères les organes possibles.

    Mais maintenant si je veux utiliser mes combobox dans l'autre sens, Organe -> ComboFamille -> ComboLieux ( évidemment j'aurais pré-charger la liste des organes au préalable de le combobox) et je veux qu'il me ressorte la Famille et les différents lieux ou il apparait.
    Je suis bloqué car les selectedIndex Change réagit déjà à la selection Lieux -> Famille -> Organe.
    Comment faire ?
    J'avais penser faire deux booléen pour détecter lequel est utiliser en premier mais je suis un peu perplexe quand à la technique... ^^"
    Je ne sais pas si j'ai été clair dans l'explication.

    Merci d'avance

    Bonne journée.

  2. #2
    Membre émérite Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Par défaut
    Une appli de gestion d'un trafic d'organe Je comprends, c'est important d'organiser son stock disponible !

    Le boolean est une solution. Le boolean indiquerai le "sens" de ta recherche.

    Ensuite, tu lève les événements sur tes CB et filtre la liste qui correspond (et du coup, impacte la suivante et ainsi de suite ...).

    Faudrai que tu nous montre un peu ton code derrière tes events de CB pour voir ce qu'on peut améliorer.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 36
    Par défaut
    Salut,

    Sinon tu créer 3 objets en variable globale. Correspondant aux sélections de tes CombosBox.
    Pour chaque "Selected Items" Tu créer ton objets.
    Nom : Capture.PNG
Affichages : 230
Taille : 13,5 Ko

    Tu les initialises à vide puis quand tu choisis un item de ta première combobox tu remplis la seconde.

  4. #4
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 173
    Par défaut
    Bonjour,

    J'ai fait une fausse manip j'ai supprimer le long message que j'avais posté :'(

    J'ai un autre problème plus important pour l'instant concernant les DataAdapter et les Command builder, j'affiche différentes tables dans un datagridview en fonction du bouton appuyer.
    et j'effectue des modifs sur le dgv pour quelle se répercute sur la bdd, la première modif fonctionne niquel mais si j'en refais une dans la foulé sur la même ligne ça ne fonctionne plus...
    Pourtant je réactualise le dataset à chaque fois.

    Autre question j'aimerais afficher dans mon datagridview une requête avec jointures pour avoir les infos vraiment intérréssantes et pouvoir les modifier dans le dgv et que les modifications se fassent bien dans les différentes tables de la base de données... seul hic cela serait pas faisable avec des Adapters et vu que je suis un novice je suis un peu perdu pour le coup...

    mon code:


    variable globales:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    BaseAccess bd = new BaseAccess();
            OleDbDataAdapter adapter;
            OleDbCommandBuilder builder;
            DataSet set = new DataSet();
            DataSet changes = new DataSet();
    fonctions pour afficher des élements dans le dgv:
    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
    comboFamille.Items.Clear();
                string Query = "SELECT * FROM Famille";
     
                adapter = new OleDbDataAdapter(Query, bd.getCon());
                set = new DataSet();
     
     
                adapter.Fill(set, "Famille");
                dataGridView1.DataSource = set.Tables[0];
     
                Dictionary<int, string> listeFamille = bd.getFamille();
                foreach (KeyValuePair<int, string> x in listeFamille)
                {
                    comboFamille.Items.Add(x.Value);
                }
    bouton "Rafraichir" pour sauvegarder les modifications dans le dgv:
    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
    17
    18
    19
    20
    21
    22
    23
    private void button5_Click(object sender, EventArgs e)
            {
     
                changes =   set.GetChanges();
     
                try
                {
                    builder = new OleDbCommandBuilder(adapter);
                    changes = set.GetChanges();
                    if (changes != null)
                    {
     
                        adapter.Update(changes.Tables[0]);
                        afficherOrgane();
                    }
                    MessageBox.Show("Changes Done");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
     
            }
    erreur lors de la deuxième modif sauvegardée:

    Nom : Capture.PNG
Affichages : 229
Taille : 139,8 Ko

    EDIT: Ou alors il faudrait faire des liens entre mes différentes tables: qui se mettent à jour quand j'ajoute un organe dans la table organe... Je sais pas trop comment faire ....

    Voilà voilà ça fait pas mal de questions je continus de chercher, merci d'avance et bonne journée à tous

  5. #5
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Par rapport à ta question d'origine ça m'a l'air un peu foireux du point de vue ergonomie. Il s'agit de deux modes de rechercher différents, à mon avis il serait plus pertinent de faire deux écrans, par exemple en les mettant dans des onglets.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/01/2014, 13h20
  2. [SP2010] Recherche métadonnées + quote
    Par James Dt dans le forum Développement Sharepoint
    Réponses: 0
    Dernier message: 02/10/2013, 16h19
  3. Réponses: 3
    Dernier message: 27/11/2006, 18h00

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