0

xaml:

<ComboBox SelectionChanged="status_SelectionChanged" Height="23" Name="status" ItemsSource="{Binding}" Width="120">
</ComboBox>

データベースのアイテムをコンボボックスのItemsSourceとして追加するにはどうすればよいですか?

MySqlCommand status_db = new MySqlCommand("select name from request_status", conn);

それで:

List<string> combolist = new List<string>();
            MySqlDataReader reader = status_db.ExecuteReader();
            while (reader.Read())
            {
                combolist.Add((string)reader);
            }

しかし間違っています...

4

3 に答える 3

0

たとえばList<request_status> myListデータベースからのアイテムをリストに入力してからmyList、ItemsSource として設定することをお勧めします。

ItemsSource="{Binding Path=myList}"
于 2012-07-10T07:44:45.847 に答える
0

既に示したコードを使用して、ItemsSource={Binding}コンボ ボックス xaml からパーツを削除します。

次に、次を追加します。

status.ItemsSource = comboList;

これで作業を行うには十分だと思いますが、xaml バインディングの使用を検討する必要があります。しかし、これは別の大きな話です...

于 2012-07-10T08:42:51.870 に答える
0

ComboBox で Binding を使用する方法はItemsSource="{Binding}"、ComboBox の DataContext を SQl クエリからのリストに設定する必要があることを意味します。

MySqlCommand status_db = new MySqlCommand("select name from request_status", conn);
// build a list from the query
ObservableCollection<YourType> listElements = From_SQL_QUeury;
ComboOne.DataContext = listElements; // add x:Name="ComboOne" in the XAML for your comboxBox.
于 2012-07-10T08:04:39.917 に答える