#c# #mysql #combobox
#c# #mysql #поле со списком
Вопрос:
Я новичок в C #, и у меня возникли серьезные проблемы с настройкой источника данных поля со списком. Я хочу, чтобы произошло следующее: Я хочу, чтобы поле со списком на моем форуме C # Windows было заполнено именами строк только в одном столбце таблицы в моей базе данных MySQL.
Таблица MySQL имеет следующий формат:
river_id, river_name, ....... (other columns)
_____________________________________________
1 river1
2 river2
3 river3
4 river4
5 river5
6 river6
Я хочу, чтобы поле со списком было заполнено именем каждой реки.
Вот моя попытка:
string query = "SELECT * FROM sources";
MySqlDataAdapter riverSourcesAdapter = new MySqlDataAdapter(query,connectionString);
DataSet riverDataSet = new DataSet();
riverSourcesAdapter.Fill(riverDataSet);
comboBox1.Text = riverDataSet.Tables[0].Rows[0][0].ToString();
Я также попытался вместо этого установить в поле со списком datasource и datamember в конструкторе, но этот подход, похоже, тоже не сработал.
Ответ №1:
Попробуйте это:
comboBox1.DataSource = riverDataSet.Tables[0];
comboBox1.DisplayMember = "<column name>";
comboBox1.ValueMember = "<column name>";
Комментарии:
1. Ну, это было просто….. Это работает отлично, спасибо! Не могли бы вы объяснить необходимость символов ‘<>’, пожалуйста?
2. это просто заполнитель для реального имени столбца 🙂
Ответ №2:
ваш код должен быть таким..
comboBox1.DataSource = riverDataSet;
comboBox1.DisplayMember = "river_name";
comboBox1.ValueMember = "river_id";
comboBox1.SelectedIndex = -1;
comboBox1.AutoCompleteMode = AutoCompleteMode.Append;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;