Как разрешить пользователю сопоставлять элементы из двух списков вместе? - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть два списка.Первый содержит имена (строку), второй содержит фильтры (объект).

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

Фильтр может соответствовать нескольким именам, имя должно соответствовать ровно одному фильтру.

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

Пример:

Пользователь должен иметь возможность сделать это:

  • name1 -> filterA
  • name2 -> filterA
  • name3 -> filterB

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Самый естественный способ, которым я могу придумать, - это предоставить ListView со всеми именами слева и ComboBox справа, который содержит фильтры.

Это также гарантирует, что пользователь может выбирать толькоодин фильтр.

1 голос
/ 13 декабря 2011

ЕСЛИ вы используете ListView, вы можете использовать Tag & Name свойство ListViewItem для предоставления некоторых скрытых данных (по крайней мере, от пользователя) и сравнения этих свойств каждого элемента списка.

Вы можете попробовать что-то вроде этого (это не проверено и написано на лету: P) Я до сих пор не уверен, что получил ваш вопрос.так что прости меня !!

public Form1()
{
    InitializeComponent();

    ListViewItem item1;

    int i = 1;
    while (i < 6)
    {
        item1 = new ListViewItem();
        item1.Text = "Item" + i.ToString();
        item1.Tag = new List<string>();
        listView1.Items.Add(item1);

        i++;
    }

    i = 1;
    while (i < 6)
    {
        item1 = new ListViewItem();
        item1.Text = "Filter" + i.ToString();
        listView2.Items.Add(item1);

        i++;
    }
}

private void button1_Click(object sender, EventArgs e)
{
    List<string> temp = (List<string>)listView1.SelectedItems[0].Tag;

    temp.Add(listView2.SelectedItems[0].Text);

    listView1.SelectedItems[0].Tag = temp;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...