2012-02-20 2 views
-2

У меня две формы, используя компонент ListView. В первом виде он отлично работает (все элементы напечатаны в ListView), а во втором (который имеет ту же структуру) нет, ListView остается пустым.ListView: элементы не показаны? C#

Что я делаю неправильно? lista - это список.

Число элементов = longitud, которое определено в основной функции.

Существует код:

public void llenarTabla() 
{ 
    int idx; 
    string tmp; 
    string elemento; 

    for (idx = 0; idx < longitud; idx++) 
    { 
     tmp = Convert.ToString(idx + 1); 
     ListViewItem lvi = new ListViewItem(tmp); 
     elemento = Convert.ToString(lista[idx]); 
     lvi.SubItems.Add(elemento); 
     listView1.Items.Add(lvi); 
     listView1.View = View.Details; 
     listView1.Refresh(); 
    } 

} 
  • Я также попытался увидеть, если в списке есть какие-либо элементы (как это должно быть):

    for (int idx = 0; idx < longitud; idx++) // test 
        Console.WriteLine(lista[idx]); 
    

и в «окне вывода» он печатает некоторые элементы.

  • Я также попытался поставить .View = ... и .Refresh() вне цикла. Но такой же результат.

Спасибо за любую помощь

+0

Где вы заполняете или загружаете второй список. ?? – MethodMan

+0

Если это работает на form1, а не на form2, то вам следует сосредоточиться на том, что отличается от вашего списка между этими двумя формами. Также опубликуйте код, который создает экземпляры listviews. – ken2k

+0

Код именно то, что я разместил. Я имел в виду ... У меня есть одна форма с ОДНИМ списком и одна форма с ОДИН список. Проблема в том, что я посмотрел, и есть только одна разница .. в форме, где listview работает правильно lvi.SubItems.Add (elemento); использует массив elemento (elemento []), но даже создавая elemento [1] проблема одна и та же – dragonmnl

ответ

1

Может быть, вы забыли установить свойство Просмотреть в View.Details.

+0

listView1.View = View.Details; в коде написано – dragonmnl

Смежные вопросы