【问题标题】:how to select values from listview column如何从列表视图列中选择值
【发布时间】:2014-01-07 08:00:43
【问题描述】:

我如何从列表视图列中获取值,假设我已经关注列表视图

Product Quantity                Product price           Total Price    
      2                             4                      8
      3                             4                     12
      2                             5                     10

现在我想在Total Price 列中选择值并将它们全部添加,这意味着我想添加 8、12、10。我该怎么做?

【问题讨论】:

  • 你试过什么???
  • @Arun 我尝试过 for 循环,但以不同的方式意味着我没有从列表视图中获取值,而是从值所在的变量中获取值,但它对我不起作用然后我尝试此代码://foreach(lvProductInfo.Items 中的 ListViewItem 项){ totalPrice = 0;双倍价格 = 0; if (double.TryParse(item.SubItems[2].Text, out price)) totalPrice += Convert.ToInt32(price); } 但仍然不适合我
  • 总是最好添加有问题的代码,说这是我的尝试
  • 你遇到了什么错误???不要制造 XY 问题

标签: c# .net winforms listview


【解决方案1】:
private void button1_Click(object sender, EventArgs e)
    {
        int totalPrice = 0;
        for(int i=0;i<listView1.Items.Count;i++)
        {
            totalPrice += Convert.ToInt32(listView1.Items[i].SubItems[2].Text);
        }

    }

【讨论】:

  • @psnLoverCSharp:很高兴能得到你的帮助。
【解决方案2】:

您可以通过遍历集合ListView.Items 来获得ListViewItem。 每个具有多个值的ListViewItem 都有在ListViewItem.SubItem-Collection 中收集的子项。 十进制和 = 0;

        foreach (ListViewItem item in listView1.Items)
        {
            string _val = item.SubItems[2].Text;
            decimal totalPrice = decimal.Parse(_val);
            sum += totalPrice;
        }

【讨论】:

  • 不适合我,它只是从列表视图中选择最后一个添加的值,就像从上面的列表视图中选择 10 一样。
  • 您应该将其转换为十进制或任何其他数字数据类型,十进制 totalPrice = 0.0; totalPrice += decimal.parse(item.SubItems[2]);
  • 我修复了代码并对其进行了测试,应该可以工作。我误解了这个问题。
猜你喜欢
  • 1970-01-01
  • 2023-04-09
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
相关资源
最近更新 更多