2013-05-06 2 views
-2
private void btnAjouter_Click(object sender, EventArgs e) 
{ 
    double sommeFinale = 0; 
    int prixItem; 
    int quantité; 
    int.TryParse(lstQuantité.Text, out quantité); 
    int.TryParse(txtPrix.Text, out prixItem); 
    Article unArticle = new Article(lstNuméro.Text, lstArticle.Text, prixItem, quantité); 
    lstAffichageArticle.Items.Add(String.Format("{0, -5}{1, -50}{2, -10}{3, -10}",lstNuméro.Text, lstArticle.Text, lstQuantité.Text, txtPrix.Text)); 
    lblAffCoût.Text = string.Format("{0:n0}", unArticle.CalculerCoûtArt() + unArticle.CalculerCoûtArt()); 
} 

Я хочу, чтобы иметь возможность суммировать все unArticle.CalculerCoûtArt() из списка и показать результат sommeFinale на этикетке lblAffCoût.C#, вычислить элемент в списке

unArticle.CalculerCoûtArtprixItem * quantité.

+0

Возможно, что-то вроде 'var sum = lstAffichageArticle.Items.Sum (x => x.CalculerCoûtArt());' –

+0

Это не сработает, 'lstAffichageArticle.Items' не имеют типа' Article' –

ответ

0

Предполагая, что у вас есть List<Article> населенной со всеми «статьи», то вы можете попробовать:

var sommeFinale = theList.Sum(article => article.CalculerCoûtArt()); 
lblAffCoût.Text = sommeFinale.ToString(); 
0

Значение кода затемняется немного для меня от языкового барьера (французский?). Но я считаю, что это обработчик для добавления элемента в корзину, и вы хотите рассчитать общую цену, включая новый элемент. Я думаю, вам нужно сохранить список элементов корзины покупок на стороне сервера и пересчитать цену каждой обратной передачи. Это может быть в базе данных или объекте Session или в других местах. Затем проведите по пунктам и вычислите сумму.