У меня есть метод, который получает объект ComboBox
и запрос, который будет загружен на его элементы.Программно выберите элемент в combobox, используя его свойство ValueMember
Способ также запрашивает 2 других элементов:
имени столбца 1. DB таблицами и устанавливает его в Combobox
«ы DisplayMember
собственности
2.The идентификатора каждой записи в соответствии с этой колонкой таблицы БД имя и устанавливает его в Combobox
«s ValueMember
собственности
public void DatabaseColumnRecordsToCombobox(ComboBox cbx, String query, String displayMember, String valueMember)
{
try
{
cmd = new MySqlCommand(query, connection);
da = new MySqlDataAdapter(cmd);
tbl = new DataTable();
da.Fill(tbl);
cbx.DataSource = tbl;
cbx.DisplayMember = displayMember;
cbx.ValueMember = valueMember;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
this.CloseConnection();
}
}
Я использую метод, создав запрос с 2 колонками, Ид и его соответствующим именем. И хранить его в ComboBox
«s DisplayMember
и ValueMember
:
DatabaseColumnRecordsToCombobox(cmbSupplier, "SELECT Id, Supplier_Name FROM Supplier WHERE Enable_Flag=1 ORDER BY Supplier_Name", "Supplier_Name", "Id");
Извиняюсь за длинное вступление, я просто хочу, чтобы вы все, чтобы понять, как моя программа работает, прежде чем говорить моя проблема. Таким образом, проблема заключается в том, как выбрать элемент по умолчанию DataGridView
, используя ComboBox
's ValueMember
?
Все, что я знаю при программном выборе элемента, - cmbCategory.SelectedItem = "Supplier A"
, но мне нужно выбрать, используя ValueMember
. Таким образом, я могу установить элемент по умолчанию по идентификатору.
Это сработало! Большое спасибо! Но просто хочу знать, можно ли использовать целое число для combobox1.SelectedValue? например 'comboBox1.SelectedValue = 1'. Я использовал целое число, и он все еще работал, просто не знаю, почему все прошло хорошо. Кстати, я люблю тебя, мужчина! #nohomo –
Ха-ха без проблем человек! Целое число должно работать так же, как и его тип объекта. Вы должны быть в состоянии использовать тот же тип, что и тип, который у вас есть в вашем ValueMember. – MrApnea