Для ситуации в корзине, вот что я рекомендую. Я собираюсь разбить его на самую простую форму.
Предположим, что мы начнем с этого (представление списка с 2 colums, 2 кнопки, и этикетки):
Первые вещи во-первых, удаление элементов, чтобы сделать это, мы войдем нашу кнопку удаления:
private void button2_Click(object sender, EventArgs e)
{
listView1.Items.Remove(listView1.SelectedItems[0]);
label1.Text = updateCartTotal().ToString();
}
Теперь вторая линия обновляет наши этикетки всего с помощью следующей функции я буду размещать в addup всю сумму столбца 2 в ListView:
private decimal updateCartTotal()
{
decimal runningTotal = 0;
foreach(ListViewItem l in listView1.Items)
{
runningTotal += Convert.ToDecimal(l.SubItems[1].Text);
}
return runningTotal;
}
Вам не нужно использовать десятичные числа, как я, вы можете использовать float или int, если у вас нет десятичных знаков. Итак, давайте сломаем это. Мы используем цикл for для суммирования всех элементов в столбце 2 (SubItems [1] .Text). Добавьте это к десятичному знаку, которое мы объявили перед циклом foreach, чтобы сохранить итоговое значение.Если вы хотите сделать налог, вы можете сделать что-то вроде:
return runningTotal * 1.15;
или какая бы ваша ставка налога не взималась.
Длинный и короткий, используя эту функцию, вы можете восстановить свой список, просто вызвав функцию. Вы можете изменить текст ярлыков, как я ранее демонстрировал, если это то, что вам нужно.
Не забудьте проверить listView1.SelectedItems.Count, чтобы исключить исключение нулевого указателя –