2013-10-09 109 views
0

我是C#的新手,並且正在創建一個測試應用程序以從Access數據庫中的表中填充組合框。我希望能夠即時設置這些信息。作爲測試人員,我創建了一個新表單,添加了一個名爲「TBCallOutcome」的組合框,並添加了代碼。C#將數據添加到組合框從MS Access表

但是,它似乎在每一行填充「System.Data.DataRowView」的下拉列表。

任何想法 - 謝謝你?

private void Form1_Load(object sender, EventArgs e) 
    { 
     string query = "SELECT [Call outcome] FROM [DD Call Outcomes] WHERE ((([Show on list])=True)) ORDER BY [Sort order]"; 
     OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='N:\\Test\\Dropdowns.mdb';User Id=admin; Password=;"); 
     DataTable source = new DataTable(); 
     dAdapter.Fill(source); 
     TBCallOutcome.DataSource = source; 
    } 

回答

-1

您必須設置爲DisplayMemberComboBox

private void Form1_Load(object sender, EventArgs e) 
{ 
    string query = "SELECT [Call outcome] FROM [DD Call Outcomes] WHERE ((([Show on list])=True)) ORDER BY [Sort order]"; 
    OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='N:\\Test\\Dropdowns.mdb';User Id=admin; Password=;"); 
    DataTable source = new DataTable(); 
    dAdapter.Fill(source); 

    TBCallOutcome.ValueMember = "[Call outcome]"; 
    TBCallOutcome.DisplayMember = "[Call outcome]"; 
    TBCallOutcome.DataSource = source; 
} 
+0

謝謝 - 非常感謝。 – AndyDB

相關問題