![](/img/trans.png)
[英]How to rebind datasource to a winform DataGridView Combobox column?
[英]Winform Combobox with DataSource as List<int>
這可能是一個非常簡單的問題,但我意識到我無法使其正常運行。
我有一個Winform組合框,其數據源為List<int>
combo.DataSource = intList;
我應該為.DisplayMember
和.ValueMember
放置什么,以便僅具有整數值列表? 不設置它們將不顯示任何內容。
我與其他List<myObj>
一起工作,其中DisplayMember
和ValueMember
是myObj的屬性。 簡單的數據類型,例如int
, string
呢?
檢索所選項目時,可以簡單地(int)(combo.SelectedItem)
或必須通過與ValueMember
對應的屬性?
不會發生此問題,因為您有一個整數列表,它可能是由於將項目分配給.DataSource
屬性之后將項目添加到列表中而.DataSource
。 列表沒有機制來向其添加或刪除項目時通知其容器。
在將項目分配給.DataSource
屬性之前,將其添加到列表中,或者使用Krishnraj Rana建議的包裝器(如BindingSource
。
在這里, BindingSource成為圖片。 您可以像這樣使用它。
BindingSource bSource = new BindingSource();
bSource.DataSource = new List<int> { 1, 2, 3 };
combo.DataSource = bSource;
雖然可以直接用列表設置組合框的數據源。 像這樣 -
combo.DataSource = intList;
這也很好用。
您可以像這樣使用foreach從列表中添加項目。
foreach (var v in intList)
{
comboBox1.Items.Add(v.ToString());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.