Bonjour tout le monde,
Voila, j'ai un dataGrid (représentant des articles dont l'entreprise à eu besoin pour l'intervention) qui se remplit de deux manière :
* Tout d'abord grâce à une combo et des labels...
* Puis, si des articles sont déja dans la base alors voici le code pour remplir ce dataGrid :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 private void SuiviIntervention_Load(object sender, System.EventArgs e) { dt = new DataTable(); dt.Columns.Add("Désignation"); dt.Columns.Add("quantité"); dt.Columns.Add("PU_HT"); dt.Columns.Add("PU_TTC"); dt.Columns.Add("Remise"); DateDispo.Checked=false; } ArrayList liste = new ArrayList(); private void DesArt_SelectedIndexChanged(object sender, System.EventArgs e) { if(liste.Contains(DesArt.Text)) { MessageBox.Show("déja existant"); } } private void Qte_TextChanged(object sender, System.EventArgs e) { try { if(liste.Contains(DesArt.Text)) { } else { connection = new SqlConnection("Data Source=xpsp2-49f3e18f9;Initial Catalog=DistribInfo;Integrated Security=SSPI"); command = new SqlCommand("SELECT CONVERT(varchar(10), PD_PU_HT, 0) as PD_PU_HT FROM PIECE_DETACHEE WHERE PD_DESIGNART = '" + DesArt.Text + "'", connection); connection.Open(); try { rader = command.ExecuteReader(); try { while (rader.Read()) label17.Text = Convert.ToString(rader["PD_PU_HT"]); } finally { rader.Close(); } } finally { connection.Close(); } connection = new SqlConnection("Data Source=xpsp2-49f3e18f9;Initial Catalog=DistribInfo;Integrated Security=SSPI"); command = new SqlCommand("SELECT CONVERT(varchar(10), PD_PU_TTC, 0) as PD_PU_TTC FROM PIECE_DETACHEE WHERE PD_DESIGNART = '" + DesArt.Text + "'", connection); connection.Open(); try { rader = command.ExecuteReader(); try { while (rader.Read()) label18.Text = Convert.ToString(rader["PD_PU_TTC"]); } finally { rader.Close(); } } finally { connection.Close(); } DataRow dr = dt.NewRow(); dr[0] = DesArt.Text; dr[1] = Qte.Text; dr[2] = label17.Text; dr[3] = label18.Text; dt.Rows.Add(dr); dataGrid3.DataSource = dt; liste.Add(DesArt.Text); } Qte.Text = ""; } catch(Exception ex) { MessageBox.Show(ex.ToString()); } finally { connection.Close(); } }
Mon problème est le suivant :
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 string PieceDetachee = ("SELECT PD_DESIGNART as Désignation, PC_QTECONSO as quantité, CONVERT(varchar(10), PC_PU1MOMEN, 0) as PU_HT, CONVERT(varchar(10), PC_PU2MOMEN, 0) as PU_TTC, PC_REMISE as remise FROM PIECE_DETACHEE, PIECE_CONSOMMEE WHERE PIECE_DETACHEE.PD_CODART = PIECE_CONSOMMEE.PC_CODART AND PC_NUMINTER = '" + NumInter.Text + "'"); connection = new SqlConnection("Data Source=xpsp2-49f3e18f9;Initial Catalog=DistribInfo;Integrated Security=SSPI"); connection.Open(); try { SqlDataAdapter dataAdapter2 = new SqlDataAdapter(PieceDetachee, connection); dataAdapter2.Fill(ds2,"PieceDetachee"); dataGrid3.DataSource = ds2; dataGrid3.DataMember = "PieceDetachee"; } catch(Exception ex) { MessageBox.Show(ex.ToString()); } finally { connection.Close(); }
* Si des articles existe déja dans la base alors, le tableau se remplit(ça sans problème) mais si ensuite, je veux rajouter des articles en plus alors la problème, ça efface les existant.
Donc comment dois-je faire pour que ceux que je souhaite rajouter, se mette à la suite??
Merci d'avance!!
J'ai vraiment besoin de votre aide s'il vous plais!!
Partager