我有两个清单。第一个包含名称(字符串),第二个包含过滤器(对象)。
我想要的是为用户提供UI,以便让他们将名称与过滤器匹配。
过滤器可以与许多名称匹配,名称必须与一个过滤器匹配。
我该怎么做?我相信这项工作没有现成的控制措施。
示例:
用户应该可以这样做:
答案 0 :(得分:1)
如果您使用的是ListView
,则可以使用Tag
& Name
ListViewItem
提供隐藏数据(至少来自用户)并比较每个列表视图项的属性。{/ p>
你可以尝试这样的东西(它没有经过测试和动态写入: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;
}
答案 1 :(得分:1)
我能想到的最自然的方式是提供一个ListView,左边是所有名字,右边是一个包含过滤器的ComboBox。
这也可以确保用户只能选择一个过滤器。