Проблема ComboBox.ValueMember при создании подэлементов - PullRequest
0 голосов
/ 21 октября 2010

У меня есть проблема с моим списком, я пытаюсь заполнить его некоторыми значениями из базы данных, все работает нормально, за исключением того факта, что последняя строка этого кода (с ValueMember в нем) генерирует UnknownException в свободном переводе, который он говорит что он не может создать список подэлементов для поля "таблица".

connection = new MySqlConnection(connectionString);
connection.Open();

MySqlDataAdapter mda = new MySqlDataAdapter(query, connection);

DataSet my_dataset = new DataSet("dataset");
mda.Fill(my_dataset);
connection.Close();

DataViewManager dvm_cb2 = my_dataset.DefaultViewManager;
my_combobox.DataSource = dvm_cb2;
my_combobox.DisplayMember = table + "." + name;
my_combobox.ValueMember = table + "." + my_id;

Есть идеи, в чем может быть проблема?

Ответы [ 2 ]

1 голос
/ 21 октября 2010

DisplayMember и ValueMember должны быть строковыми изменениями свойства объекта

Так, например, если у вас была коллекция следующего объекта

public class MyObject
{
    public string ItemId = "";
    public string DisplayValue = "";
}

Итак, вы делаете коллекцию объекта

List<MyObject> list = new List<MyObject>();

Затем назначьте это и свойства в поле со списком

combobox.DataSource = list ;
combobox.DisplayMember = "DisplayValue";
combobox.ValueMember = "ItemId ";

Это должно сработать.

0 голосов
/ 21 октября 2010

попробуйте это

my_combobox.DisplayMember = "fieldname";
my_combobox.ValueMember = "fieldname";
my_combobox.DataSource = dvm_cb2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...