Есть коллекция, в которой каждому элементe соответствует 4 значения(один из них, это имя, которое отображается свойством DisplayMember в комбобоксе и которая является содержимым комбобокса). Остальные 3 нужно извлечь и поместить в функцию. Если было бы нужно извлечь одно значение, то подошло бы свойство ValueMember и затем, с помощью SelectedValue присвоить его переменной, которая попадет в функцию. Есть ли аналог для нескольких значений?
Как я понимаю, у тебя коллекция, в которой каждому элементу соответсвует 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;
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеЯ пытаюсь разобраться в том, как правильнее составлять архитектуру ASP
У меня есть большой стринговый массив и нужно по нему заполнить ComboBox в ListBox можно сделать так listBoxItems
Имеется компонент dataGridView и массив\коллекция объектовКак заполнить dataGridView из массива\коллекции объектов?