0

私は C# を初めて使用し、Access データベース内のテーブルからコンボ ボックスを作成するテスト アプリを作成しています。この情報をその場で設定できるようにしたい。テスターとして、新しいフォームを作成し、「TBCallOutcome」という単一のコンボ ボックスを追加し、コードを追加しました。

ただし、ドロップダウンにはすべての行に「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;
    }
4

1 に答える 1

-1

次のように設定する必要がありDisplayMemberますComboBox

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;
}
于 2013-10-09T09:17:48.723 に答える