Как выбрать элемент в списке, чтобы список представлял подмассив для выбранного элемента - PullRequest
0 голосов
/ 13 декабря 2018

Я все еще изучаю веревки к C #, поэтому не уверен в инструментах, которые у меня есть.

У меня есть массив классов элементов в массиве классов элементов (например, carModel [] внутри carBrand [] ... carBrand (netWorth, numberofcars, carModel []) ...).Большой массив carBrand [] отображается в списке при загрузке.

Я хочу, чтобы пользователь мог выбрать элемент в списке, чтобы в этом списке был представлен под-массив для выбранного элемента.Как мне это сделать?

1 Ответ

0 голосов
/ 13 декабря 2018

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

class Brand
{
    public string Name {get; set;}
    public Model[] Models {get; set;}
}

class Model
{
    public string Name {get; set;}
}


// init your brand list, and model list for each brand
private Brands[] _brands = .  . . 
// init lists
lstBrands.DisplayMemeber = "Name";
lstBrands.ValueMemeber = "Name";
lstBrands.DataSource = _brands;

// then on lstBrands selected intex changed
private void lstBrands_SelectedIndexChanged (sender, e)
{
    if (lstBrands.SelectedIndex = -1)
    {
        lsltModels.DataSource = null;
        return;
    }
    var brand = (Brand)lstBrands.SelectedItem //<-- note - ITEM, not index
    lsltModels.DisplayMemeber = "Name";
    lsltModels.ValueMemeber = "Name";
    lsltModels.DataSource = brand.Models;

}

- это немного псевдокод, но у вас есть идея - когда вы выбираете марку, вы заполняете поле lst для модели моделями этой марки.которые хранятся в каждой марке

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