Извлечь несколько значений из Combobox

292
09 декабря 2016, 08:50

Есть коллекция, в которой каждому элементe соответствует 4 значения(один из них, это имя, которое отображается свойством DisplayMember в комбобоксе и которая является содержимым комбобокса). Остальные 3 нужно извлечь и поместить в функцию. Если было бы нужно извлечь одно значение, то подошло бы свойство ValueMember и затем, с помощью SelectedValue присвоить его переменной, которая попадет в функцию. Есть ли аналог для нескольких значений?

Answer 1

Как я понимаю, у тебя коллекция, в которой каждому элементу соответсвует 4 свойства, 2 ты биндишь, а остальные хочешь дополнительно получить?

В таком случае, ты в SelectedItem должен находится объект, который можно привести к нужному типу и получить доступ к элементам, которые не отображаются в контроле.

Пример:

var selVal = (Product) comboBox1.SelectedItem;

Расширенный пример:

namespace TestProgram
{
    public partial class Form1 : Form
    {
        public class Product
        {
            public int id { get; set; }
            public string Name { get; set; }
            public int Cnt { get; set; }
        }
        List<Product> listProd;
        public Form1()
        {
            InitializeComponent();
            listProd = new List<Product>();
            listProd.Add(new Product() { id = 2, Name = "Прод 2", Cnt = 2 });
            listProd.Add(new Product() { id = 3, Name = "Прод 3", Cnt = 4 });
            comboBox1.DataSource = listProd;
            comboBox1.ValueMember = "id";
            comboBox1.DisplayMember = "Name";
        }
        private void button1_Click(object sender, EventArgs e)
        {
            var selVal = (Product) comboBox1.SelectedItem;
        }
    }
}
READ ALSO
Хорошая архитектура ASP.NET

Хорошая архитектура ASP.NET

ЗдравствуйтеЯ пытаюсь разобраться в том, как правильнее составлять архитектуру ASP

326
Как заполнить ComboBox из массива?

Как заполнить ComboBox из массива?

У меня есть большой стринговый массив и нужно по нему заполнить ComboBox в ListBox можно сделать так listBoxItems

321
Подсчитать количество нулей и единиц в массиве

Подсчитать количество нулей и единиц в массиве

Прошу помочь найти ошибкуСчитает все элементы

291
Заполнение DatagridView из Массива объектов или коллекции

Заполнение DatagridView из Массива объектов или коллекции

Имеется компонент dataGridView и массив\коллекция объектовКак заполнить dataGridView из массива\коллекции объектов?

398