簡體   English   中英

訪問數據綁定組合框C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM