2011-10-14 20 views
2

我試圖將RadComboBox綁定到其select方法返回DataSet對象的ObjectDataSource。我收到一個錯誤:「'FieldName',既不是DataColumn也不是DataRelation for Table Table」。爲了確保我不瘋狂,我嘗試了一個完美運行的DropDownList。我在Telerik's docs中發現他們支持使用返回IEnumerable對象的ObjectDataSource。那麼,我正確的說RadControls在使用DataSet時不支持使用ObjectDataSource嗎?真?使用數據集將RadComboBox綁定到ObjectDataSource

+0

它是一個強類型DataSet? –

回答

3

您提供的鏈接指向不同的控件。請參閱here的組合框,它是問題標題中的控件。

ComboBox控件輕鬆接受來自數據集的數據表對象,作爲組合框中顯示內容的來源。

enter image description here

然後ComboBox控件:

enter image description here

選擇GetData方法(唯一的選擇),然後配置你的組合框:

enter image description here

運行:

enter image description here

編輯:

人們似乎沒有理由使用的ObjectDataSource,如果你已經使用的數據集和SqlDataAdapter的:

DataSet myDataset = new DataSet(); 

    SqlConnection con = new SqlConnection(@"Data Source=J-PC\SQLEXPRESS;Initial Catalog=SO;Integrated Security=True"); 

    SqlDataAdapter adapter = new SqlDataAdapter(@"SELECT TOP (25) Leg_FirstName FROM GRS_Legislator ORDER BY Leg_FirstName", con); 

    adapter.Fill(myDataset); 

    RadComboBox1.DataTextField = "Leg_FirstName"; 
    RadComboBox1.DataValueField = "Leg_FirstName"; 
    RadComboBox1.DataSource = myDataset; 
    RadComboBox1.DataBind(); 
+0

感謝您的詳細回覆。我沒有使用你描述的方法,但最終似乎我們都通過ObjectDataSource提供了一個DataSet對象到組合框。我來自一個自定義的數據訪問層,我不明白爲什麼會出現錯誤。我錯過了什麼嗎? –

+0

我想這取決於你如何設置組合框的responct到它顯示的數據。如果你是通過代碼來做的話,你必須確保你指定了幾個變量來使組合框顯示你想要顯示的內容。 – KreepN

+0

你能告訴我這些變量可能是什麼嗎?我假設我可以將組合框指向數據集,然後將表中的字段名稱用於值和文本。我錯過了一個步驟嗎? –