ListView相加的行数之和

时间:2019-06-06 10:01:12

标签: c# listview

请帮助提供代码。如何添加3、4、5列中的数字并将其转移到“总计”列中。同时,“ Total”列不能是永久的,例如listView1.Items [i] .SubItems [11] .Text-此解决方案不合适,您可能需要查找“ Total”列本身,因为它不是永久的,就像SubItems [9] 10.11等。

将数据写入listView1的代码

      dataReader = await cmd1.ExecuteReaderAsync();

        if (dataReader.FieldCount > 0)
            {
                for (int i = 0; i < dataReader.FieldCount; i++)
                {
                    if (i == 0)
                    {
                        listView1.Columns.Add(dataReader.GetName(0), 0, HorizontalAlignment.Left);
                    }
                    else
                    {
                        listView1.Columns.Add(dataReader.GetName(i).ToString().Replace("_", " "), 80, HorizontalAlignment.Left);
                    }
                }

                ListViewItem lv = new ListViewItem();
                //
                while (await dataReader.ReadAsync())
                {
                    lv = listView1.Items.Add(dataReader[dataReader.GetName(0)].ToString().Replace('_', ' '));
                    for (int h = 1; h < dataReader.FieldCount; h++)
                    {

                        lv.SubItems.Add(dataReader[dataReader.GetName(h)].ToString());
                    }
                }
            }
            for (int i = 1; i < listView1.Columns.Count; i++)
                listView1.Columns[i].Width = -2;

1 个答案:

答案 0 :(得分:0)

此代码假定listView1中有一个名为“总计”的列。

(int itt = 1; itt < listView1.Items.Count; itt++)
{
    int Totall =
        int.Parse(listView1.Items[itt].SubItems[2].Text) +
        int.Parse(listView1.Items[itt].SubItems[3].Text) +
        int.Parse(listView1.Items[itt].SubItems[4].Text);

    //Сумма чисел добавить во всего 
    listView1.Items[itt].SubItems["Total"].Text = Totall.ToString();
}

int.Parse将字符串转换为整数,但是请记住,如果字符串不是数字,它将抛出异常。如果您需要进行错误检查,请考虑使用int.TryParse

还请注意,子项的索引为0。含义0对应于第一个可视列,1对应于第二个可视列。