5
我在我的屏幕上有一個列表框(MyListBox
)和一個文本框(MyTextBox
)。Winforms,數據綁定,列表框和文本框
ListBox中充滿了List(Of T),這些都是自定義項目。
現在我試着這樣做:
的ListBox的數據源是List(Of T)已。
現在,當一個項目的變化,我希望文本框被更新到我的列表框中選定的項目的特定屬性。
在代碼中,這意味着:
Me.MyListBox.DisplayMember = "SelectionName"
Me.MyListBox.ValueMember = "Id"
MyTextbox.DataBindings.Add(New Binding("Text", Me._listOfItems, "SelectedItem.Comment", True, DataSourceUpdateMode.OnPropertyChanged))
Me.MyListBox.DataSource = Me._listOfItems
這不起作用。但是當我綁定到SelectedValue而不是SelectedItem時,它可以很好地工作。
的_listOfItems
被聲明爲這樣的:
Dim _listOfItems As List(Of MyItem) = New List(Of MyItem)()
哪裏MyItem
是這樣的:
public class MyItem
{
public string SelectionName { get; set; }
public int Id { get; set; }
public string Comment { get; set; }
}
我試圖重寫ToString()
在MyItem
,這樣它會利用這一點。但那也行不通。
有人在乎試試看嗎?
謝謝!
-Snakiej
SelectedValue是Id,我需要評論。我不能用它來調用數據庫:)我會嘗試你的解決方案! – Snake 2010-05-25 13:05:13
我懂了!你是對的,如果你想要給用戶提供一個選擇選擇,我們不要用Id來做。= P – 2010-05-25 13:06:44
選項5不需要:)和選項4:我使用此綁定: 新的綁定(「Text」,bindingSource1,「Comment」,...),因爲它已經使用bindingSource的.Current屬性! 謝謝! – Snake 2010-05-25 13:13:07