Как я могу заполнить текстовое поле значениями базы данных из выпадающего списка?
Привет,
Я довольно новичок в C# и пытаюсь заполнить несколько текстовых полей данными из выбранного выпадающего списка.
У меня есть главное окно с текстовыми полями и комбо-боксами, а также отдельный класс для подключения к базе данных (я использую XAMPP/PhpMyAdmin).
Мне удалось заполнить comboboxes данными из базы данных, но я не могу заполнить текстовые поля из выбранного combobox.
Я проверил другие вопросы и учебные пособия, но все, чего мне удалось добиться, - это получить первичный ключ в текстовое поле, но мне нужны разные столбцы из таблицы, в зависимости от текстового поля.
Что я уже пробовал:
Я заполнил combobox из базы данных:
void Completez_Combo_Furnizor() { combo_furnizor = DB_Furnizori.Combo_Furnizor(); comboBoxFurnizor.Items.Clear(); comboBoxFurnizor.DataSource = combo_furnizor; comboBoxFurnizor.ValueMember = "id_furnizor"; comboBoxFurnizor.DisplayMember = "nume"; }
Я дважды щелкнул по выпадающему списку и написал следующее, Но все, что я могу получить, - это первичный ключ (первый столбец). В текстовом поле мне нужно получить 7-й столбец (который является двойным типом.
private void comboBoxFurnizor_SelectedIndexChanged(object sender, EventArgs e) { textBoxPret.Text = comboBoxFurnizor.SelectedItem.ToString(); }
И это из класса базы данных (DB_Furnizori.cs), где я открываю соединение и имею несколько запросов к базе данных.
public static DataTable Combo_Furnizor() { conn.Open(); MySqlCommand comboFurnizor = new MySqlCommand("SELECT * from furnizori ORDER BY nume", conn); MySqlDataAdapter adaptc = new MySqlDataAdapter(comboFurnizor); DataTable combo_furnizori = new DataTable(); adaptc.Fill(combo_furnizori); conn.Close(); return combo_furnizori; }
Пожалуйста, помогите, я не знаю, как заставить его работать :(
Richard MacCutchan
Вам нужно использовать элемент из выпадающего списка, чтобы найти соответствующую строку в таблице данных. Затем вы можете извлечь данные в любом столбце, который вам нужен.
vladj91
Спасибо за быстрый ответ. Я действительно не знаю, как это сделать. Я пытался найти это, но не смог найти ничего, что могло бы мне помочь