2016-07-14 4 views
1

Я хочу перечислить fims внутри winforms combobox. Поэтому я пытаюсь установить combobox как id как значение и фирму name как название элемента. Получает список фирм из базы данных mysql.C# winform заданное значение и имя элемента combobox из DataTable

SELECT id, name FROM firms

Так что мой код здесь:

private void FirmSelect_Load(object sender, EventArgs e) 
{ 
    Firm firm = new Firm(); //db model 
    DataTable data = firm.ListAlllFirm(); 
    FirmComboBox.DataSource = data; 
    FirmComboBox.DisplayMember = "name"; 
} 

Эта работа хорошо, но я хочу, чтобы установить фирменный идентификатор в качестве значения элемента! Нужно ли мне взаимодействовать с DataTable с помощью foreach и установить его вручную? Как я могу это сделать?

Или любой другой способ сделать это;

ответ

2

Вы не хотите, чтобы Переберите коллекции Установить ItemValue,

Вы можете использовать ValueMember свойство ComboBox для этого, который будет позволяет Получает или задает путь из свойство использовать как фактическое значение для элементов в ListControl.

Это можно сделать, используя следующий код:

FirmComboBox.DisplayMember = "name"; 
FirmComboBox.ValueMember = "id"; 
FirmComboBox.DataSource = Data; 

Так что вы можете получить доступ к значению поля с помощью FirmComboBox.SelectedValue

+0

Я уже попробовать! Но когда я пытаюсь проверить первый элемент, начинаем с нуля '0'. В базе данных у меня есть auto increment 'id' и нет фирмы с' 0' id – Ivan

+0

Новое обновление работает отлично. Спасибо – Ivan

+1

@Ivan: Прохладный, чтобы помочь вам. Не забудьте отметить это как принятое, если оно действительно поможет вам –

Смежные вопросы