Bonjour à tous,
Etant donné que je débute en développement avec le C# je rencontre quelques problèmes dans mon application.
Je m'explique j'ai des boutons que je les crée statiquement mais j'affecte leurs textes dynamiquement. Je veux quand je clique sur l'un de ces boutons j'affiche son texte dans une colonne d'une nouvelle ligne de la datagrid view. Voilà mon code qui ne marche pas correctement
1 2 3 4 5
|
panel_article.Controls[t - k].Text = (string)dgvArticle_commande.Rows[k].Cells[1].Value + "\n" + dgvArticle_commande.Rows[k].Cells[2].Value.ToString();
panel_article.Controls[t - k].Name = dgvArticle_commande.Rows[k].Cells[1].Value.ToString();
panel_article.Controls[t - k].Click += new EventHandler(article_Click); |
et pour l'évènement article_click
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
|
public void article_Click(object sender, System.EventArgs e)
{
Button btnArticle = (Button)sender;
string prixdgv = (string)btnArticle.Tag;
float prix = Single.Parse(prixdgv);
string nom = btnArticle.Name;
//int nbreLigne = dgv_commande.Rows.Count - 1;
int valeur = 0;
int i = 0;
if (dgv_commande.RowCount - 1 > 0)
{
for (i = 0; i < dgv_commande.RowCount - 1;i++ )
{
if (nom.Equals( dgvArticle_commande.Rows[i].Cells[1].Value.ToString()))
{
valeur = (int)this.dgv_commande.Rows[i].Cells[0].Value;
valeur+=1;
this.dgv_commande.Rows[i].Cells[0].Value = valeur;
}
else
{
dgv_commande.Rows.Insert(i+1,1);
dgv_commande.Rows[i + 1].Cells[0].Value = 1;
dgv_commande.Rows[i + 1].Cells[1].Value = nom;
dgv_commande.Rows[i + 1].Cells[2].Value = "";
dgv_commande.Rows[i + 1].Cells[3].Value = "";
dgv_commande.Rows[i + 1].Cells[4].Value = prix;
}
}
}
else
{
dgv_commande.Rows.Add(1, nom, "", "", prix);
}
} |
ça me gere une exception au niveau de
if (nom.Equals( dgvArticle_commande.Rows[i].Cells[1].Value.ToString()))
de type
La référence d'objet n'est pas définie à une instance d'objet
.
S'il vous plait aidez moi.
Merci
Partager