2012-04-20 94 views
0

我新的Windows窗體,我不知道我做錯了。我在前面創建了一個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

你不需要有'新的DataTable()'因爲'GetLatestInformation()'調用返回一個實例。 – davisoa 2012-04-20 19:33:43

+1

謝謝戴維,我會牢記這一點。它不能解決手頭的問題,但當我很懶惰並且不初始化變量時仍然是一個好習慣。 – Lukas 2012-04-20 19:37:13

+0

糾正我,如果我錯了,但如果我沒有記錯,ListView控件不支持開箱即用數據綁定 – DarkSquirrel42 2012-04-20 19:41:19

回答

1

我不知道你正在做什麼是可能的,但一個快速的解決辦法,可能是合適的是隻遍歷並手動的數據添加到列表視圖...

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

有一個更好的方法,但這肯定會在屏幕上添加一些數據,所以我給你一個觀點。可能回答標記,如果沒有更好的出現。 – Lukas 2012-04-20 19:51:44

+0

有沒有什麼能阻止你使用wpf?將數據綁定到那裏的數據表要容易得多。在winforms中(從我的經驗),你通常直接操縱UI。 – 2012-04-20 19:56:22

0

難道說你需要到ListView的View屬性設置爲Details

+0

沒有細節似乎也給我一個空白頁面,所以我避免了這一點。天哪我從來沒有與dataGridView這個問題。 – Lukas 2012-04-20 19:52:40

0

難道GetLatestInformation()返回一個null價值?

+1

不,它返回一個有200行數據的表。 – Lukas 2012-04-20 19:48:08