2017-01-26 3 views
1

Mit access Ich habe dieses Problem nicht, aber jetzt, da ich SQL Serever verwende, funktioniert die Combobox nicht so, wie es vorher funktioniert.Combobox zeigt nicht Anzeigeelement und Wert Mitglied in C#

das ist, wie ich DisplayMember und ValueMember von database erhalten:

using (SqlConnection SqlCon = new SqlConnection(StrCon)) 
    { 
     using (SqlDataAdapter SqlDa = new SqlDataAdapter(
       "Select HiveID, HiveNumber From tHives", SqlCon)) 
     { 
      using (DataTable Dtable = new DataTable()) 
      { 
       SqlDa.Fill(Dtable); 

       HiveNumbercmb.DataSource = Dtable; 
      } 
     } 
    } 

Und Combobox Eigenschaft ist wie folgt festgelegt:

(in Eigenschaftsfenster nicht-Code)

DisplayMember = HiveNumber 
ValueMember = HiveID 

aber Anstatt meine HiveNumber zu zeigen, zeigt sie 3 leeres Item.

wo ist das Problem?

+1

Sie wollen nicht die 'verwenden using' dass dTabelle Block auf, Da wird es wegwerfen, und Sie möchten es in Ihrer ComboBox verwenden. – LarsTech

+0

@LarsTech Ja das war das Problem, Tanks so viel :) – SaraniO

Antwort

2

Der Using Block verfügt die Datentabelle:

using (DataTable Dtable = new DataTable()) { 
    SqlDa.Fill(Dtable); 
    HiveNumbercmb.DataSource = Dtable; 
} 

dass so entfernen und erklären, nur die Variable:

DataTable dTable = new DataTable(); 
SqlDa.Fill(dTable); 
HiveNumbercmb.DataSource = dTable; 
Verwandte Themen