#c# #sql-server #wcf #visual-studio-2015 #combobox
#c# #sql-сервер #wcf #visual-studio-2015 #combobox
Вопрос:
Я использую службы WCF для загрузки таблицы моей базы данных в выпадающий список (combobox). Как мне извлечь выбранное значение в соответствующее значение в таблице, чтобы при выборе элемента соответствующее int
значение было вставлено в таблицу?
Вот мой код для уровня рабочего стола:
private void Save()
{
if (ValidateForm())
{
try
{
IHotRes res = new MHotServiceProvider().Service;
Customer customer = res.SaveCustomer(txtFirstName.Text, txtLastName.Text, dtpDOB.Value, txtAddress.Text, txtPostCode.Text, txtPhone1.Text, txtPhone2.Text, txtEmailAddress.Text, ddlGender.SelectedIndex); // all other work just don't know how to get the ddlGender
MessageBox.Show("Data has been inserted to the table");
}
catch (Exception ex)
{
MessageHelper.ShowErrorMessage(ex);
}
}
}
Если вам нужна дополнительная информация или пример кода, пожалуйста, прокомментируйте ниже. (Возможно, процедура нуждается в редактировании, если да, пожалуйста, дайте мне знать, я добавлю код процедуры).
РЕДАКТИРОВАТЬ: вот как я заполняю ddlGender:
IHotRes res = new MHotServiceProvider().Service;
List<Genders> gender = res.GetGenderList();
ddlGender.ValueMember = "GenderId";
ddlGender.DisplayMember = "Gender";
ddlGender.DataSource = gender;
Комментарии:
1. Как вы заполняете ddlGender?
2. @Sefa Я добавил код.
Ответ №1:
Поскольку вы используете
ddlGender.ValueMember = "GenderId";
Вызов свойства SelectedValue дает идентификатор выбранного пола.
В моем приведенном ниже коде я предположил, что GenderId равен int . Если нет, измените тип соответствующим образом.
Customer customer = res.SaveCustomer(txtFirstName.Text, txtLastName.Text, dtpDOB.Value, txtAddress.Text, txtPostCode.Text, txtPhone1.Text, txtPhone2.Text, txtEmailAddress.Text, (int)ddlGender.SelectedValue);
Комментарии:
1. извините, вы правы, спасибо (забыл изменить
SelectedIndex
наselectedValue
)