C'est un début! Montre-nous le code que tu utilises actuellement
C'est un début! Montre-nous le code que tu utilises actuellement
Voici le code que j'utilise actuellement pour remplir mon DataGrid :
DesArt correspond à ma ComboBox.
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 private void DesArt_SelectedIndexChanged_1(object sender, System.EventArgs e) { try { dt = new DataTable(); dt.Columns.Add("Désignation"); DataRow dr = dt.NewRow(); dr[0] = DesArt.Text; dt.Rows.Add(dr); dataGrid3.DataSource = dt; } catch(Exception ex) { MessageBox.Show(ex.ToString()); } finally { connection.Close(); } }
Pour ton information, il y a qu'une colonne mais c'est provisoire, je veux pour le moment que ça fonctionne avec une car je pense qu'aprés je devrais pouvoir m'en sortir seul!!
Donc prochaine étape : faire en sorte d'insérer plusieurs ligne. Ensuite dès que l'étape est réglé, j'aimerai faire en sorte que je ne puisse pas choisir 2 fois la même désignation.
Merci pour ton aide!!
Cordialement.
Tu instancies ta DataTable dt dans le try c'est pour celà qu'il écrase la première ligne!
Instancie plutot avant le try
Qu'entend tu par instancie avant le try??Tu instancies ta DataTable dt dans le try c'est pour celà qu'il écrase la première ligne!
Instancie plutot avant le try
Car j'ai essayé de mettre :
avant le try mais toujours pareil puis j'ai essayé en mettant le tout avant le try maistoujours pariel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part dt = new DataTable();
Cordialement!!
Tu ne dois aussi ajouter "Désignation" qu'une seule fois. Mets le code
dans le Load de ta form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dt = new DataTable(); dt.Columns.Add("Désignation");
Merci beaucoup pour ton aide car maintenant cela fonctionne parfaitement. Je me suis même amuser à rajouter une colonne et c'est bon.
Bon il me reste normalement la dernière étape qui est d'éviter d'avoir deux fois la même désignation dans le dataGrid.
J'y réfléchi demain et je te tien au courant!!
encore merci!!
Pour celà tu as une multitude de choix. A chaque fois que l'utilisateur ajoute une ligne, tu vérifies si cette désignation est déja présente dans une ArrayList (ou un tableau ) :Bon il me reste normalement la dernière étape qui est d'éviter d'avoir deux fois la même désignation dans le dataGrid.
sinon, tu ajoutes cette nouvelle ligne et tu l'ajoutes aussi à ta ArrayList
si oui, tu affiches un message d'informations
Encore merci pour ton aide!!
Pour faire la vérification que la désignation sélectionné dans la combo existe ou pas dans ma colonne de mon dataGrid, j'ai cherché..... Je pense qu'il faut que j'utilise un si mais je bloque je vois pas quel méthode utiliser...?? !!
Je pense que je dois tête utiliser un CompareTo mais j'y arrive pas!!
Si quelqu'un a une idée... qu'il n'hésite pas!!
merci d'avance!!
Tous les codes que nous écrivons derrière un écran sont en fait des algorithmes (il peut en avoir mille); je viens de t'en donner; traduit-le en c#
Je suis d'accord avec toi là dessus.Tous les codes que nous écrivons derrière un écran sont en fait des algorithmes
J'ai essayé de le traduire en C# mais je vois pas comment faire pour dire que l'on veuxje viens de t'en donner; traduit-le en c#c'est à dire comment dire que si valeur de la combo = ou <> des valeurs de la colonne. Enfin c'est surtout la deuxième partie : valeurs de la colonne après le reste je devrais pouvoir je pense m'en sortir.vérifies si cette désignation est déja présente dans une ArrayList
Cordialement.
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 ArrayList Liste = new ArrayList(); void ComboSelectIndexChange() // événement index changes de ta combo { try { if(Liste.Contains(Combo.Text)) { // cette désignation est deja choisie } else { // designation n'existe pas // code pour l'ajouter a la datagrid } } catch { } }
J'ai essayé avec ce que tu ma donné mais problème, il m'affiche pas le message d'erreur lorsque la désignation existe déja dans le tableau mais ça l'ajoute en plus.
Voici le code :
En gros, il ne passe jamais dans mon if mais juste dans le else.
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
24
25
26
27 ArrayList liste = new ArrayList(); private void DesArt_SelectedIndexChanged(object sender, System.EventArgs e) { try { if(liste.Contains(DesArt.Text)) { MessageBox.Show("déja existant"); } else { DataRow dr = dt.NewRow(); dr[0] = DesArt.Text; dt.Rows.Add(dr); dataGrid3.DataSource = dt; } } catch(Exception ex) { MessageBox.Show(ex.ToString()); } finally { connection.Close(); } }
Cordialement.
Oui j'ai oublié de faire ceci :
juste après avoir ajouté une ligne dans la datagrid dans le cas où cette désignation n'existe pas!
Code : Sélectionner tout - Visualiser dans une fenêtre à part Liste.Add(Combo.Text);
Effectivement ça fonctionne mieu!!
Encore merci pour tout, je vais continuer à faire en sorte que mon dataGrid soit rempli de toute les colonnes souhaitées.
Si problème je te tiens au courant mais je pense pouvoir m'en sortir maintenant!!
merci pour tout!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager