gpt4 book ai didi

c# - 将数据从 Listbox1 复制到 Listbox2

转载 作者:行者123 更新时间:2023-11-30 00:34:32 26 4
gpt4 key购买 nike

在 c# 中,我有一个像这样的 listbox1:

lstCorsoAll.DisplayMember = "description";
lstCorsoAll.ValueMember = "id";
lstCorsoAll.DataSource = dtData;

其中 dtData 是 SQL 查询形式的 DataTable。

我想使用按钮将所选项目从列表框 1 复制到列表框 2。

如果我使用此代码:

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;

它工作正常(我得到了正确的显示值),但如果重复操作(我从列表框1中选择一个新值)并按下按钮,列表框2中的项目始终相同,列表框2不会更新。

此后,我想将 listbox2 中的项目保存到数据库,使用 listbox2 项目 valueMember 作为 MySQL 表上的键

你能帮我吗?!非常感谢

最佳答案

列表框未检测到您已更改数据源。只有当Datasource改变时才会刷新,所以先将DataSource设置为null:

listBox1.DataSource = null;
listBox1.DataSource = data;

您还可以清除这些项目,然后再次设置数据源:

listBox1.Items.Clear();
listBox1.DataSource = data;

关于c# - 将数据从 Listbox1 复制到 Listbox2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22283966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com