c# Пытается прочитать ValueMember для элемента x из checkListBox

У меня есть CheckListBox, который был заполнен из запроса Linq To SQL (я не хочу привязывать список непосредственно к запросу Linq).

Я заполняю его:

var selected = from c in dc.Personnel
select new { Item = c.PersonnelID, Description = c.FirstName + " " + c.Surname };

        foreach (var item in selected)
            myList.Items.Add(item.Item, item.Description);

        myList.DisplayMember = "Description";
        myList.ValueMember = "Item";

Теперь я хочу получить ValueMember в позиции x, например:

myList.GetItem(0).ValueMember

Очевидно, что это неправильно, но я не уверен, что это правильный метод. Заявление выше имеет ошибку компиляции, которая 'object does not contain definition for ValueMember'.


person Cameron Castillo    schedule 02.04.2015    source источник


Ответы (1)


Все, что вам нужно сделать, это использовать myList.GetItem(0). Поскольку вы установили свой myList.ValueMember заранее, он вернет значение, хранящееся в свойстве Item связанного элемента, то есть item.Item.

ValueMember — это не само значение, это имя «члена», то есть свойства связанных объектов, которые будут представлять значения, содержащиеся в списке.

Вот документ: https://msdn.microsoft.com/en-us/library/3yx132k0%28v=vs.110%29.aspx

person rory.ap    schedule 02.04.2015
comment
myList.GetItem(0) возвращает следующее. Наверняка должен быть способ просто получить PersonnelID? {0000001000: Джеймс Смит } база: {0000001000: Джеймс Смит } CheckState: Unchecked Описание: Джеймс Смит включен: true - person Cameron Castillo; 02.04.2015