[英]Access databound combo box c#
我有一個組合框控件問題。 項目是從數據庫中檢索到的,但不允許我通過SelectedValue屬性訪問它。
我試圖這樣設置:
DataSet ds = retrieveData(); //I am calling a procedure, it works fine
myComboBox.DataSource = ds;
myComboBox.DisplayMember = "COLUMN1";
myComboBox.ValueMember= "COLUMN2";
但這是行不通的。 組合框中的文本為
System.Data.DataViewManagerListItemTypeDescriptor
所以我這樣做:
foreach (DataRow dr in ds.Tables[0].Rows)
{
myComboBox.Items.Add(
new { TEXT = dr["COLUMN1"].ToString(),
VALUE = Convert.ToInt32(dr["COLUMN2"].ToString())
});
}
現在可以了。 但是我必須訪問索引( myComboBox.IndexOf("Text inside")
)而不是值(它是主鍵,因此保證是唯一的)。 SelectedValue始終為null,而SelectedIndex是一個匿名對象,該字段我也無法訪問!
有什么幫助嗎?
您應該將ComboBox綁定到DataTable
對象而不是DataSet
。 賓語。 那將解決您的目的。 另外,確保將DropDownStyle
屬性設置為DropDownList
。 (這樣,用戶被迫從列表中選擇一個值,而不是鍵入。)
myComboBox.DataSource = ds.Tables[0];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.