2011-07-18 14 views
5

Mam pole kombi i zaludnione to w ten sposób:Jak zdobyć dane w ComboBox C#

DataTable dt = new DataTable(); 

using (SQLiteConnection conn = connection.Conn) 
{    
    using (SQLiteCommand cmd = new SQLiteCommand(conn)) 
    { 
     cmd.CommandText = "select id, description from category"; 
     conn.Open(); 

     using (SQLiteDataAdapter da = new SQLiteDataAdapter(cmd)) 
     { 
      da.Fill(dtChargeCodes); 
      comboBox1.DataSource = dt; 
      comboBox1.DisplayMember = "description"; 
      comboBox1.ValueMember = "id"; 
     }          
    }    
} 

Co Próbuję achive jest uzyskanie danych dotyczących wybranego elementu w combobox ale kiedy próbowałem wyświetlić go przy użyciu MessageBox.Show(comboBox1.SelectedItem.ToString());, otrzymuję typ System.Data.DataRowView., a nie rzeczywistą wartość opisu pola w kategorii tabeli. Proszę, pomóż ... dzięki.

Odpowiedz

5

Albo użyć

comboBox1.SelectedText 

lub

((System.Data.DataRowView)(comboBox1.SelectedItem))["description"] 

Może trzeba użyć drugiej metody, jeśli chcesz uzyskać dostęp do wartości w przypadku SelectedIndexChanged (patrz here)

2

myślę, że trzeba

MessageBox.Show(comboBox1.SelectedItem.Value.ToString()) 
+0

myślę, że nie ma Właściwość 'Value' dla' ComboBox.Selected'. – yonan2236

+0

Problem polega na tym, że dostaję przedmiot. Na produkcie powinna znajdować się właściwość, która daje wartość. Przepraszamy - nie mam dostępu do środowiska, aby sprawdzić bankomat. –

5

Spróbuj tego:

MessageBox.Show(comboBox1.SelectedValue); 
+0

to wyświetli wartość 'id' z zapytania" wybierz identyfikator, opis z kategorii ". nie opis .... – yonan2236

+0

Niestety, nie przeczytałem poprawnie pytania. Zwykle to jest to, o co prosisz. –

+0

jest tam inny sposób? – yonan2236

1

Niektóre wyjaśnienia:

MessageBox.Show(comboBox1.SelectedValue.ToString()); //get selected item value 
MessageBox.Show(comboBox1.Text); //get selected item text 
2

Jeśli szukasz wykorzystaniem wartości ekran to:

MessageBox.Show(combobox1.SelectedText); 
+0

Uwaga: Jeśli DropDownStyle jest ustawiony na DropDownList, wartość zwracana jest pustym ciągiem znaków (""). – Reniuz

+0

jest tam inny sposób? – yonan2236