2011-03-07 83 views
0

我有一個DataSet的BindingSource。我對整個綁定業務和數據庫相當陌生,並且花了我數小時才弄清楚如何使用BindingSource來獲取項目,因爲Row方法未包含在自動完成中。不要混淆的人,這裏的一些示例代碼:自動完成列表不顯示所有可能的完成與BindingSource.Item

Dim somePreperty As String 

Dim dataSet As New MyDataSet 
Dim table As New MyDataSetTableAdapters.MyTableAdapter 
Dim source As New BindingSource 

source.DataSource = dataSet 
source.DataMember = "SomeMember" 
table.Fill(dataSet.SomeMember) 

lablCabinet.DataBindings.Add("Text", source(0), "MemberID") '<This works fine>' 

someProperty = source.Item(0).Row("ProductModel") '<So does this>' 

的代碼完全運行,不正是我想要的東西。我的問題如下:當我輸入source.Item(0).時,自動完成而不是 display 在列表中。這可能不是做我所做的最好的方式嗎?它有隱藏的原因嗎?這是一個很好的編碼習慣嗎?事實並非如此,這讓我花了很多時間搜索,所以我試圖弄清楚它是Visual Studio故障還是我自己的。

在此先感謝! =)

回答

1

source.item(0)返回一個對象,所以intellisense不知道原來是什麼。 你知道它應該是什麼,編譯器不會。 如果首先將它轉換到表或它assing一個表,智能感知將在踢

因此,要麼:

ctype(source.item(0),datatable) 

或者

dim tbl as datatable=source.item(0). 
+0

啊..不能相信我錯過了!謝謝! =))) – Phonon 2011-03-07 22:08:42