2015-06-02 2 views
1

Я делаю проект и не могу сделать Seletect значения из списка получить правильный список value.A генерируется из класса UserDepartment, в этом классе у меня есть это в основном:DataValue значение поля C#

public class UserDepartment 
{ 
    public long ID { get; set; } 
    public string Description { get; set; } 
    public User UserResponsible { get; set; } 
} 

Проблема в том, что мне нужно значение из класса userResponsible, внутри есть значение, называемое КДО, мне нужно это значение, но я не знаю, как get.See ниже изображения:

List Generated

Если я использую «ListBeneficiaryArea.DataValueField = "ID";», я получаю ID значение обычно, но я не могу получить значение EDV, я уже пробовал «EDV», «UserResponsible.EDV» и «UserResponsible», но это не сработало.

Есть другой способ получить UserResponsible. EDV в DataValueField?

После изменения DataSource я получил эту ошибку:

enter image description here

+0

Что такое 'ListBeneficiaryArea'? Я предполагаю 'DropDownList'. Вы всегда можете добавить 'ListItem' programticall, используя 'list.Item.Add (новый ListItem {Text =" Foo ", Value =" Bah "})'. Тогда это простой цикл. –

+1

Может быть добавлено свойство 'public int EDV {get {return UserResponsible.EDV; }} 'в' UserDepartment' и использовать его как поле 'value' –

+1

изменить' select new {ID, EDV = a.UserResponsible.EDV}; 'to' select new {Описание, EDV = a.UserResponsible.EDV}; ' –

ответ

2

Вы можете изменить свой DataSource на следующее:

ListBeneficiaryArea.DataSource = from a in lstBUAreas 
           select new { ID, EDV = a.UserResponsible.EDV }; 

Тогда вы можете сделать:

ListBeneficiaryArea.DataTextField = "ID"; 
ListBeneficiaryArea.DataValueField = "EDV"; 
Смежные вопросы