【问题标题】:ListView addition of the sum of numbers in linesListView 增加行数的总和
【发布时间】:2019-06-06 10:01:12
【问题描述】:

请帮助编写代码。如何从 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;

【问题讨论】:

  • 您可能需要找到“Total”列然后按名称而不是按索引访问它
  • 所以我问怎么做))
  • 点赞listView1.Items [i].SubItems ["Total"]
  • @Rahul 如何将 3、4、5 列的行数相加并将其传输到“总计”列。请 сod )) 我只是一个新手
  • 请帮助 --- 错误代码为 (int itt = 1; itt

标签: c# listview


【解决方案1】:

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

(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 对应第二个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-31
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    相关资源
    最近更新 更多