C # winForm Основы Combobox - PullRequest
       3

C # winForm Основы Combobox

2 голосов
/ 27 августа 2010

Привет всем, я построил ComboBox, который вручную получает такие элементы, как это:

var newitem = new { fullname =c.Company+" "+ c.FirstName + " " + c.LastName,
                    custId = c.CustomerID };

c_dropCustomers.Items.Add(newitem);

позже на событии Combo Selection, я хотел бы получить только custId (The Value), но яне знаю, как этого достичь.

SOS:)

Ответы [ 3 ]

4 голосов
/ 27 августа 2010

asuming c # 4.0:

dynamic item = c_dropCustomers.SelectedItem;
dynamic customerID = item.custId;
0 голосов
/ 27 августа 2010

Если я правильно понимаю ваш вопрос:

var item = c_dropCustomers.SelectedItem;
var custId = item.custId;

РЕДАКТИРОВАТЬ: (C # 3.5)

Если это действительно анонимный тип, вам нужно сделатькак то так:

        ComboBox cb = new ComboBox();
        cb.Items.Add(new { fullname = "Company" + " " + "First Name" + " " + "Last Name", custId = 44 });

        cb.SelectedIndex = 0;

        var item = cb.SelectedItem;
        var custId = item.GetType().GetProperty("custId").GetValue(item, System.Reflection.BindingFlags.GetProperty, null, null, null);
0 голосов
/ 27 августа 2010

Вам нужно определить класс, чтобы вы могли привести его позже.Вы не можете привести к анонимному классу (AFAIK).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...