2009-06-23 59 views
0

看起來很簡單,我想要一個整數的泛型列表並將它們顯示在datagridview上。谷歌回來了大量的結果顯示在datagridview自定義類,但不是一個int列表。當我只是提交列表作爲數據源時,什麼也沒有顯示。我怎樣才能得到一個datagridview顯示列表<int> /列表(整數)?

我嘗試使用

dim _CheckIns as new list(of integer) 
_checkins.add(1577) 
_checkins.add(1999) 
Dim bl As New System.ComponentModel.BindingList(Of Integer)(Me._CheckIns) 
me._dg.datasource=bl 

然後試圖BindingSource的去綁定列表

dim bs as new BindingSource() 
bs.datasource=bl 
me._dg.datasrouce=bs 

至今沒有運氣。給它一個數據源

bs.DataBind() 
+0

我能讀懂C#所以在兩種語言的答案就可以了。 – Maslow 2009-06-23 16:16:12

回答

1

不會那麼容易,數據綁定機制長相對於屬性和Int32沒有任何。你可以用列表< int?>來測試它,它會顯示HasValue和Value colums。

所以你必須把它包起來的一類:

class MyInt 
{ 
    public int Value { get; private set; } 
    public MyInt(int v) { Value = v; } 
} 

我把它一成不變的,以符合當前的最佳實踐。

+0

哦,整潔,我讀過一次,你可以使集合私人,沒有注意語法,現在看到很多地方我可以使用該技巧。 – Maslow 2009-06-23 16:42:28

1

嘗試綁定BS我相信網格是一個需要數據綁定對象:

me._dg.DataSource = bs 
me._dg.DataBind() 
+0

我沒有找到BindingSource,BindingList和DataGridview的成員,名爲DataBind()? – Maslow 2009-06-23 16:48:53

0

+0

我沒有找到BindingSource,BindingList,DataGridview和DataBind()的成員?這是一個Windows窗體應用程序,我可能回想起asp.net中的一個數據綁定? – Maslow 2009-06-23 16:49:53

0

我一直在尋找一個答案,只是最終轉換成列表

var lstInts = new List<int> {1, 2, 3, 4, 5}; 
var lstConvertToStrings = lstInts.Select(x => new {NumberAsString = x.ToString()}).ToList(); 
相關問題