2016-12-15 18 views
0

表示:IDでコンボボックスの選択項目が、私はので、私はこのようなデータを持っていると言うことができます、データベースからのデータは私のコンボボックスを移入するために取得しています名前

|Column ID | Column Name | 
|  1 |  Item1 | 
|  2 |  Item2 | 
|  3 |  Item3 | 

だから今、私はColumn Nameを取得してコンボを移入していますのために私はコンボボックスを選択したアイテムを変更しています。コンボボックスにデータを割り当てているので、コンボボックスのアイテムをID 3に変更すると、アイテム3に変わります。

+1

5 '.DisplayMember = "名前" である'と '.ValueMember = "ID"' – Plutonix

+0

@Plutonix:次に、SelectedValueChangedイベントに応答します具体的に? – Parpil

+0

DB値を持つデータテーブルをデータソースとして使用する – Plutonix

答えて

0

私はそれを考え出した。ここで答えは:

divizija.DisplayMember = "Column Name"; 
divizija.ValueMember = "Column Id"; 

List<Items> items = new List<Items>(); 
FbDataReader dr = cmd.ExecuteReader(); 
while (dr.Read()) 
{ 
    items.Add(new Items { Id = (int)dr[0], Name = (string)dr[1]}); 
}  
divizija.DataSource = items; 
divizija.SelectedValue = divizijaDokumenta; 

そして項目のリストについては、私はクラスを必要とし、ここで、それはあなたがクラスを必要とするか、DBのデータからリストを作成するにはいけない

public class Items 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 
0

です。 DataTableはうまく動作します:

string sql = "SELECT Id, Descr FROM ccolor"; 

using (MySqlConnection dbcon = new MySqlConnection(MySQLConnStr)) 
using (MySqlCommand cmd = new MySqlCommand(sql, dbcon)) 
{ 
    DataTable dt = new DataTable(); 
    dbcon.Open(); 

    // fill the datatable 
    dt.Load(cmd.ExecuteReader()); 

    // set up cbo 
    cboColor.DisplayMember = "Descr"; 
    cboColor.ValueMember = "Id"; 
    cboColor.DataSource = dt; 
} 

はそれもdoesntの永続的なテーブルにする必要があります。あなたができる

Console.WriteLine("The value of {0} is {1}", cboColor.Text, cboColor.SelectedValue); 

オレンジ色の値が

関連する問題