У меня проблема с заполнением моего Dropbox значением из текстового поля. Я искал по этому форуму, но ни один из ответов не соответствует моим потребностям. Так: 1. У меня есть 2 таблицы, похожие на это:
Таблица А ID1 элемент активен
Таблица B ID2 ID1 Имя Адрес
Когда я дважды щелкаю свой dataGridView, он открывает форму (Form1) (с заблокированными элементами управления) и показывает пользователю следующие данные:
ID2 (текстовое поле) Имя (ТаблицаA) (текстовое поле) Элемент (ТаблицаB) (текстовое поле) Адрес (текстовое поле)
В этой форме у меня есть кнопка (btn_edit), и когда я нажимаю эту кнопку, она открывает новую форму (Form2) (с разблокированными элементами управления) и показывает те же данные пользователю, но пользователь может редактировать данные, включая dropbox, чтобы обновить элемент (ТаблицаA):
ID2 (текстовое поле) Заблокированный элемент управления
Имя (ТаблицаA) (dropbox)
Элемент (Таблица B) (текстовое поле)
Адрес (текстовое поле)
Однако, когда я нажимаю btn_edit, dropbox становится редактируемым, но выбранное значение не является значением, которое Form1 имеет текстовое поле.
Итак, вот код в форме Form1 для отображения данных пользователю:
private void btn_edit_Click(object sender, EventArgs e)
{
Form2_Edit f = new Form2_Edit();
f.txtid1.Text = txtid1.Text;
f.txtname.Text = txtname.Text;
f.txtaddress.Text = txtaddress.Text;
string s = txtitem.Text;
string query = "SELECT TabelA.ID1 FROM TableB INNER JOIN TableA ON TableB.ID1 = TableA.ID1 WHERE '" + s + "' = TableA.Item";
SqlConnection cs = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = new SqlCommand(query, cs);
cs.Open();
object value = da.InsertCommand.ExecuteScalar();
cs.Close();
f.cmbItem.SelectedValue = value.ToString();
f.Show();
}
Результатом является раскрывающийся список, заполненный всеми значениями из таблицы A с SelectedValue первым из таблицы.
Есть идеи или помощь?
Извините за мой юношеский вопрос.
Еще несколько новостей ... Теперь я могу правильно отображать SelectedValue, но он пропускает все остальные значения из TableA ...
Итак, мне удалось изменить свой код, но теперь я отстой. Он показывает только SelectedValue.
Хорошо, поэтому я решил, что мой ComboBox был привязан к данным TableA в дизайне, поэтому я удалил привязку! Но теперь я получаю идентификатор в ComboBox, а не имя элемента.