0

我的表单中有 2 个列表框,我将一些数据绑定到数据库中的第一个列表框。现在,当按下按钮时,我必须在第二个列表框中显示第一个列表框的选定项目。我能够一次显示一个选定的项目,但我无法显示多个选定的项目。我使用了一个哈希表和以下代码,请帮助我对这个概念不熟悉,谢谢。

Hashtable ht = new Hashtable();
ht.Add(listbox1.SelectedValue.ToString(),listbox1.Text.ToString());
int i = 0;
foreach (string ent in ht.Values)
{   
    string[] name = new string[listbox1.Items.Count];
    for (i = 0; i < listbox1t.SelectedItems.Count; i++)
    {     
        name[i] = listbox1.Text;
        this.listbox2.Items.Add(name[i]);
    } 
    listbox2.DisplayMember = ht.Values.ToString();
    listbox2.ValueMember = ht.Keys.ToString();
}
4

2 回答 2

0

DisplayMember不是应该显示的内容,而是为Items集合中的每个对象评估的属性的名称。因此,例如,代表客户的对象是FullNameMSDN 链接,包括示例)。

ValueMember应该包含唯一标识对象的属性名称,例如CustomerId.

于 2012-09-05T11:36:52.417 回答
0

将列表作为数据源分配给您的第一个列表控件:

listBoxControl1.Datasource = new List<string>() {"one","two","three","four"};

并在 selectedvaluechanged 事件中......

var tmp = listBoxControl1.SelectedItems.Cast<string>();
listBoxControl2.datasource = tmp.ToList<string>();

应该管用...

我以字符串为例,您应该转换为您使用的类。并且...在您的构造函数中分配 displayvalue 和 valuemember,无需多次执行。

于 2012-09-05T11:50:36.823 回答