C# 将数据从Listbox1复制到Listbox2
在c中,我有一个列表框1,如下所示:C# 将数据从Listbox1复制到Listbox2,c#,mysql,listbox,selecteditem,C#,Mysql,Listbox,Selecteditem,在c中,我有一个列表框1,如下所示: lstCorsoAll.DisplayMember = "description"; lstCorsoAll.ValueMember = "id"; lstCorsoAll.DataSource = dtData; 其中dtData是一个数据表,用于SQL查询 我想用按钮将所选项目从listbox1复制到listbox2 如果我使用此代码: foreach (object item in listBox1.SelectedItems) { list
lstCorsoAll.DisplayMember = "description";
lstCorsoAll.ValueMember = "id";
lstCorsoAll.DataSource = dtData;
其中dtData是一个数据表,用于SQL查询
我想用按钮将所选项目从listbox1复制到listbox2
如果我使用此代码:
foreach (object item in listBox1.SelectedItems)
{
listBox2.Items.Add(item);
}
在listbox2中,我始终获得System.data.datarowview,因为listbox1.SelectedItems是datarowview
所以我用了:
listbox2.DataSource = listbox1.SelectedItems;
listbox2.DisplayMember = listbox1.DisplayMember;
listbox2.ValueMember = listbox1.ValueMember;
它工作正常,我得到了正确的显示值,但如果重复该操作,我从listbox1中选择一个新值并按下按钮,listbox2中的项目总是相同的,listbox2不会更新
在此之后,我想使用listbox2 items valueMember作为MySQL表上的键,将listbox2中的项保存到DB中
你能帮我吗?!
非常感谢列表框没有检测到您更改了数据源。它只会在数据源发生更改时刷新,因此请先将数据源设置为null:
listBox1.DataSource = null;
listBox1.DataSource = data;
您还可以清除这些项,然后再次设置数据源:
listBox1.Items.Clear();
listBox1.DataSource = data;