C#计算ListView中的单个列并将其显示在Label中

时间:2017-05-24 20:20:46

标签: c# listview label data-conversion

我有一个可以导出和导入成功的ListView。我的问题是我需要计算付款列(ListView中的最后一列)并在Label中显示结果。但是,我得到的输入字符串格式不正确"错误。

这是我的代码:

private void DisplayWeeklyEarnings()
    {
        decimal total =0;

        foreach (ListViewItem item in lvTimeSheet.Items)
        {
            total += Convert.ToDecimal(item.SubItems[4].Text);
        }

        lblEarnings.Text = String.Format("{0:C2}", total);
    }

我也尝试过:

total += Decimal.Parse(item.Subitems[4].Text);

其他人建议使用:

total += Decimal.Parse(item.Subitems(4).Text);

然而,这给我一个关于使用Subitems作为方法的错误。显然这是错误的。

这是我的表格面: Click here to see the Form Face

以下是填充了付款列的表单: Click here to see the Populated form

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:3)

您的上一栏包含货币符号。如果使用decimal.Parse

的正确重载,则可以解析此问题
Sheet2!$D1:$D100

如果您的最后一列包含无法使用decimal.Parse的重载(例如空值)解析的值,请考虑使用

INDEX

如果您没有对输入进行完全控制,那么TryParse会更加安全无虞,因为在输入格式错误的情况下它不会引发异常。