-2

I need to send some variables for a listView.SelectedindexChanged event to an external object like I can do with a listBox. The following is my listView code. After this I will upload external object code and working listBox code.

private void listViewProducts_SelectedIndexChanged(object sender, EventArgs e)
{
    try
    {
        ProductList_Variables selected = (ProductList_Variables)listViewProducts.SelectedItems[0];

        textBoxProduct.Text = selected.Product;
        comboBoxCategory.SelectedItem = selected.Category;
        textBoxSize.Text = selected.Size.ToString();
        comboBoxMarket.SelectedItem = selected.Market;
        comboBoxContainer.SelectedItem = comboBoxContainer.Items.OfType<ProductList_Variables>().SingleOrDefault(x => x.Container == selected.Container);
        textBoxPrice1.Text = selected.Price.ToString();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

class ProductList_Variables
{
    public int Id { get; set; }
    public string Product { get; set; }
    public string Category { get; set; }
    public string Size { get; set; }
    public string Market { get; set; }
    public string ProductName { get { return Product + " - " + Category + " - Size: " + Size +", Market: "+ Market; } }
    public string Flavour { get; set; }
    public decimal Price { get; set; }
    public string Container { get; set; }
    public int IdContainer { get; set; }
}

    private void listBoxProducts_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            ProductList_Variables selected = (ProductList_Variables)listBoxProducts.SelectedItem;

            //textBoxProduct.Text = selected.Product;
            //comboBoxCategory.SelectedItem = selected.Category;
            //comboBoxMarket.SelectedItem = selected.Market;
            //comboBoxContainer.SelectedValue = selected.IdContainer;
            //textBoxPrice1.Text = selected.Price.ToString();

            textBoxProduct.Text = selected.Product;
            comboBoxCategory.SelectedItem = selected.Category;
            textBoxSize.Text = selected.Size.ToString();
            comboBoxMarket.SelectedItem = selected.Market;
            comboBoxContainer.SelectedItem = comboBoxContainer.Items.OfType<ProductList_Variables>().SingleOrDefault(x => x.Container == selected.Container);
            textBoxPrice1.Text = selected.Price.ToString();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
Mirko
  • 1
  • 6

1 Answers1

0

If you want to send additional variables for an SelectedIndexChanged event, you may have to consider writing your own event with those requirements.

You can find a good explanation by this user.