Listview.count - InvalidArgument =值'0'对'index无效

时间:2013-12-18 12:17:46

标签: c# listviewitem

我的listview项目有问题。希望你能帮助我。

我的listview.items.count无法正常工作。虽然我有1个数据,适合我的sql-string,(我从db检查过)计数为零,我得到"InvalidArgument=Value of '0' is not valid for 'index" error.

我不知道我做错了什么? 这是我的代码;

try
{
     mcon.Open();
     reader = comma.ExecuteReader();
     while (reader.Read())
     {
          int sira = listView1.Items.Count;
          listView1.Items[sira].SubItems.Add(reader.GetString("id"));
          listView1.Items[sira].SubItems.Add(reader.GetString("ad"));
          listView1.Items[sira].SubItems.Add(reader.GetString("soyad"));
          listView1.Items[sira].SubItems.Add(reader.GetString("evrakulastimi"));
          listView1.Items[sira].SubItems.Add(reader.GetString("basvurusonuclandimi"));
     }
}
catch
{                
}

3 个答案:

答案 0 :(得分:3)

伯爵实际上会给你它所说的内容,即计数。由于listview.items集合为零索引,因此请设置int sira = listView1.Items.Count-1;

答案 1 :(得分:3)

可能您忘了添加新项目

      while (reader.Read())
        {
            int sira = listView1.Items.Count;

            listView1.Items.Add("Put some text here"); // <- Add a new item

            listView1.Items[sira].SubItems.Add(reader.GetString("id"));
            listView1.Items[sira].SubItems.Add(reader.GetString("ad"));
            listView1.Items[sira].SubItems.Add(reader.GetString("soyad"));
            listView1.Items[sira].SubItems.Add(reader.GetString("evrakulastimi"));
            listView1.Items[sira].SubItems.Add(reader.GetString("basvurusonuclandimi"));
        }

答案 2 :(得分:0)

解决方案:您可以在不使用任何Listview参数的情况下向Index添加项目。

您需要将第一项index分配给ListViewItem,然后添加SubItems

试试这个:

    ListViewItem lvi = listView1.Items.Add(reader.GetString("id"));
    lvi.SubItems.Add(reader.GetString("ad"));
    lvi.SubItems.Add(reader.GetString("soyad"));
    lvi.SubItems.Add(reader.GetString("evrakulastimi"));
    lvi.SubItems.Add(reader.GetString("basvurusonuclandimi"));