使用C#删除项目时自动计算ListView中项目的总价值

缓冲

我正在使用列表视图作为购物车。我需要知道如何在删除商品时重新计算购物车的总价值。

这是我添加到listview的代码;

private void btnACart_Click(object sender, EventArgs e)
{
    int value = 0;

    for (int i = 0; i < lvCart.Items.Count; i++)
    {
        value += int.Parse(lvCart.Items[i].SubItems[1].Text);
    }

    rtbTcost.Text = value.ToString();
}

这是我删除项目的代码:

private void btnRemoveItem_Click(object sender, EventArgs e)
{
    int total = 0;
    foreach (ListViewItem item in lvCart.Items)
    {
        if (lvCart.Items[0].Selected)
        {
            lvCart.Items.Remove(lvCart.SelectedItems[0]);
            total += Convert.ToInt32(item.SubItems[1].Text);
        }
    }

    rtbTcost.Text = total.ToString();
}

我要重新计算已删除项目的总价值。我该怎么办?

TS

像这样

在表单级别上声明

private int _listTotal;

添加-我认为您在这里遇到了一些问题,因为添加项目时应该添加总计

private void btnACart_Click(object sender, EventArgs e)
{
    int value = 0;

    for (int i = 0; i < lvCart.Items.Count; i++)
    {
        value += int.Parse(lvCart.Items[i].SubItems[1].Text);
    }
    // how about lvCart.Items.Add(<myVal>)...???
    _listTotal += value; // and here add myVal
    rtbTcost.Text = _listTotal.ToString();
}

然后,在删除时-您不想在变异集合上使用任何“ for-loops”。但是“ while”可以完美地应对突变

private void btnRemoveItem_Click(object sender, EventArgs e)
{
    int totalRemoved = 0;
    while (lvCart.SelectedItems.Count > 0)
    {
        totalRemoved += Convert.ToInt32(lvCart.SelectedItems[0].SubItems[1].Text);
        lvCart.Items.Remove(lvCart.SelectedItems[0]);
    } 
    _listTotal -= totalRemoved;
    rtbTcost.Text = _listTotal.ToString

}

未经测试,但应该可以工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用jQuery自动计算总价值

来自分类Dev

显示所有列表框项目的总价值

来自分类Dev

计算总价值字典

来自分类Dev

MongoDB中的总价值

来自分类Dev

使用C ++ OOP设计更新总价值

来自分类Dev

从 C# 中的 ListView 中删除项目

来自分类Dev

计算回收站视图中项目列表中项目的总价

来自分类Dev

检查总价值

来自分类Dev

总价值

来自分类Dev

从ListView中删除项目的奇怪行为

来自分类Dev

计算发票应用程序中Django中两个表的总价值

来自分类Dev

如何在listView中初始化商品的总计数和某个价格的总价值?

来自分类Dev

如何通过计算剔除中不同对象的属性来获得总价值?

来自分类Dev

使用C#中的linq计算IEnumerable中项目的出现次数

来自分类Dev

使用C#中的linq计算IEnumerable中项目的出现次数

来自分类Dev

在 Python 中计算来自 CSV 的每月总价值

来自分类Dev

从文件C#中删除ListView中的项目

来自分类Dev

从文件C#中删除ListView中的项目

来自分类Dev

前50%的总价值

来自分类Dev

如何使用 Vanilla Javascript 获取输入的总价值?

来自分类Dev

在ListView中删除项目

来自分类Dev

QML使用QSqlTableModel删除ListView项目的动画

来自分类Dev

使用Bloc从ListView中删除特定项目

来自分类Dev

如何使用alertDialog从listView中删除项目

来自分类Dev

C# Listview - 如何更改每个新项目的颜色?

来自分类Dev

在ListView中获取所选项目的信息-WPF / C#

来自分类Dev

删除项目时自动点击项目

来自分类Dev

C#错误查找ListView中的项目

来自分类Dev

C# - 在 Listview 中找不到项目