2012-04-20 5 views
0

Я новичок в формах окон, и я понятия не имею, что я делаю неправильно. У меня есть ListView спереди, который я создал, перетащив его с панели инструментов с именем listView1 и изменив свойство View, которое будет установлено в «List». Затем я пытаюсь связать его, используя следующий метод:ListView ничего не показывает

private void BindData() 
{ 
    DataTable dt = new DataTable(); 
    dt = GetLatestInformation(); 
    Binding b = new Binding("NAME", dt, "NAME"); 
    listView1.DataBindings.Add(b); 
} 

Метод GetLatestInformation работ и таблица возвращается с 200 строк данных. Метод BindData достигается каждый раз. Кто-нибудь знает, что мне не хватает? Заранее спасибо.

+2

Вам не нужно иметь 'new DataTable()', так как вызов 'GetLatestInformation()' возвращает экземпляр. – davisoa

+1

Спасибо Дави, я буду помнить об этом. Это не решает проблему, но все же хорошая практика, когда я ленив и не инициализирую переменные. – Lukas

+0

исправьте меня, если я ошибаюсь, но если я правильно помню, ListView не поддерживает из коробки привязку – DarkSquirrel42

ответ

1

Я не уверен, что вы пытаетесь сделать, это возможно, но быстрая работа вокруг, которые могут быть пригодны бы просто перебрать и добавить данные вручную в списке ...

 foreach (DataRow dr in dt.Rows) 
     { 
      listView1.Items.Add(dr["NAME"].ToString()); 
     } 
+0

Там должен быть лучший способ, но это определенно добавляет некоторые данные на экран, поэтому я даю вам точку. Возможно ответьте, если ничего лучше не появится. – Lukas

+0

Есть ли что-нибудь, что мешает вам использовать wpf? Нам намного проще привязывать данные к таблицам данных. В winforms (по моему опыту) вы обычно манипулируете пользовательским интерфейсом напрямую. –

0

Возможно, вам нужно установить свойство View списка ListView на Details?

+0

No Details, похоже, дает мне пустую страницу, поэтому я избегаю этого. Боже, у меня никогда не было этой проблемы с dataGridView. – Lukas

0

Возможно, что GetLatestInformation() возвращает значение null?

+1

Нет, он возвращает таблицу, содержащую 200 строк данных. – Lukas

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