将项目添加到ListBox并将其绑定到另一个Listbox中的项目

何塞·特谢拉(JoséTeixeira)

事先道歉,我可能很难说清楚自己。我已经进行了搜索,但是要进行的讨论非常复杂,因此我刚开始使用C#。

项目:C#WindowsForm / .NET 4.5 / Visual Studio 2012

挑战:我想将一个列表框中的项目添加到另一个列表框中(我可以使用Lists和foreach循环轻松地做到这一点),并根据listbox2中所做的选择使最终列表框显示特定的项目。

说明:所选项目将合并在另一个列表框中创建的组,以便在列表框1中选择少数项目时,将它们发送到列表框3,但是只有在列表框2中选择特定项目时,它们才会出现。

想象一下从一个列表中选择游戏,并将其添加到新列表的“ Nintendo”组中,这样当在listbox2中选择Sega时,它们不会与Sega混合在一起。

我可以在所有列表框中添加值,将所需的值从1复制到3,但是我对如何使选择尊重2上的选择感到困惑。

我已经阅读了有关数据绑定等内容,但是示例给出的示例太复杂了(也许存在一些语言障碍),是否有资源可以为一个非常小的项目提供最简单的解决方案?

愿意用外行术语开导一个傻瓜吗?

谢谢

编辑:你们真好(无论您是谁)否决我的问题。很公平。您至少可以告诉我问题出在哪里,或在哪里回答了问题,以便我可以解决我的问题。那不是很好吗?我是C#的入门者,因此第一个问题似乎很荒谬/懒惰是很自然的。

布拉德·雷姆(Brad Rem)

DataBinding将是必经之路。要关注的主要组件是BindingSource您还可以研究基础数据的数据,因为它们可以为您提供一些过滤的灵活性但是,如果这是一个小型应用程序,并且您只是在学习,那么以下示例可能是一个好的开始:

BindingSource每个列表框的拖到表单上。然后,将ListBox的每个DataSource属性连接到相应的BindingSource

下面是一个示例代码,显示了如何将基础数据绑定到每个BindingSources已经绑定到列表框的数据:

namespace WindowsFormsApplication1
{
    public class Game
    {
        public string Name { get; set; }
        public string Group { get; set; }
    }

    public class Group
    {
        public string Description { get; set; }
    }

    public partial class Form1 : Form
    {
        List<Game> _allGames;

        public Form1()
        {
            InitializeComponent();

            _allGames = new List<Game>
            {
                new Game { Name = "Alpha", Group = "" },
                new Game { Name = "Bravo", Group = "One" },
                new Game { Name = "Charlie" , Group = "One"},
                new Game { Name = "Delta", Group = "Two" }
            };

            bindingSource1.DataSource = _allGames;
            listBox1.DisplayMember = "Name";
            listBox1.ValueMember = "Name";

            var groups = new List<Group>
            {
                new Group { Description = "One" },
                new Group { Description = "Two" },
                new Group { Description = "Three" }
            };

            bindingSource2.DataSource = groups;
            listBox2.DisplayMember = "Description";
            listBox2.ValueMember = "Description";
        }

        private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            var group = listBox2.SelectedValue.ToString();
            bindingSource3.DataSource = _allGames.Where(x => x.Group == group);
            listBox3.DisplayMember = "Name";
        }
    }
}

这些代码所做的全部工作就是将数据绑定到BindingSource,并告诉每个ListBox要显示基础数据的哪个属性。此示例忽略了将listBox1中的每个项目分配给listBox2中的组的机制,因为我假设您知道该怎么做或可以弄清楚。

listBox2更改时的事件处理程序仅获取做出的选择,并从listBox1创建与该项目匹配的项目列表,然后在listBox3中显示这些项目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将项目添加到选定的Listbox1项目中的另一个Listbox2项目中?

来自分类Dev

在页面加载时将项目添加到ListBox并在单击按钮时将项目转移到另一个ListBox

来自分类Dev

React钩子从数组中删除项目并将其添加到另一个数组

来自分类Dev

如何创建一个函数,从一个 QTreeWidget 中删除一个项目并将其添加到另一个?

来自分类Dev

如何将另一个项目添加到数据绑定的DropDownList?

来自分类Dev

从状态数组中删除项目并将此项目添加到另一个状态数组

来自分类Dev

将项目从一个listBox移到另一个listBox

来自分类Dev

将集合列表中的项目添加到另一个集合

来自分类Dev

将方法添加到另一个项目的类中

来自分类Dev

动态将项目的引用添加到同一解决方案中的另一个项目

来自分类Dev

动态将项目的引用添加到同一解决方案中的另一个项目

来自分类Dev

如何从sql中提取数据,将列添加到一行并将其插入到另一个sql表中?

来自分类Dev

创建控制器并将视图添加到另一个项目

来自分类Dev

将SelectedItem绑定到另一个ListBox中

来自分类Dev

将多个项目从 ListBox1 添加到绑定多个项目 ListBox2

来自分类Dev

创建一个新项目并将其添加到我的邻居的列表中

来自分类Dev

将项目从另一个活动添加到列表视图(仅添加一个项目)

来自分类Dev

从GridView将项目添加到ListBox

来自分类Dev

如何将一个独立项目添加到另一个Maven项目中

来自分类Dev

将另一个类的项目添加到另一个类的属性。目标C

来自分类Dev

将另一个类的项目添加到另一个类的属性。物镜

来自分类Dev

我们可以将控制器和模型类构建到单独的 jar 文件中并将该 jar 文件作为依赖项添加到另一个项目吗

来自分类Dev

无法将学生列表中的项目添加到另一个班级的列表框中

来自分类Dev

将另一个项目添加到列表<>

来自分类Dev

从另一个WPF窗口将项目添加到列表框

来自分类Dev

如何将包含Pod的框架添加到另一个项目中

来自分类Dev

如何使用gradle将依赖项正确添加到另一个项目?

来自分类Dev

Android-将项目从另一个活动onButtonClick添加到ListView

来自分类Dev

如何将一个对象添加到另一个对象的列表中并将其保存在 JSF 中?

Related 相关文章

  1. 1

    如何将项目添加到选定的Listbox1项目中的另一个Listbox2项目中?

  2. 2

    在页面加载时将项目添加到ListBox并在单击按钮时将项目转移到另一个ListBox

  3. 3

    React钩子从数组中删除项目并将其添加到另一个数组

  4. 4

    如何创建一个函数,从一个 QTreeWidget 中删除一个项目并将其添加到另一个?

  5. 5

    如何将另一个项目添加到数据绑定的DropDownList?

  6. 6

    从状态数组中删除项目并将此项目添加到另一个状态数组

  7. 7

    将项目从一个listBox移到另一个listBox

  8. 8

    将集合列表中的项目添加到另一个集合

  9. 9

    将方法添加到另一个项目的类中

  10. 10

    动态将项目的引用添加到同一解决方案中的另一个项目

  11. 11

    动态将项目的引用添加到同一解决方案中的另一个项目

  12. 12

    如何从sql中提取数据,将列添加到一行并将其插入到另一个sql表中?

  13. 13

    创建控制器并将视图添加到另一个项目

  14. 14

    将SelectedItem绑定到另一个ListBox中

  15. 15

    将多个项目从 ListBox1 添加到绑定多个项目 ListBox2

  16. 16

    创建一个新项目并将其添加到我的邻居的列表中

  17. 17

    将项目从另一个活动添加到列表视图(仅添加一个项目)

  18. 18

    从GridView将项目添加到ListBox

  19. 19

    如何将一个独立项目添加到另一个Maven项目中

  20. 20

    将另一个类的项目添加到另一个类的属性。目标C

  21. 21

    将另一个类的项目添加到另一个类的属性。物镜

  22. 22

    我们可以将控制器和模型类构建到单独的 jar 文件中并将该 jar 文件作为依赖项添加到另一个项目吗

  23. 23

    无法将学生列表中的项目添加到另一个班级的列表框中

  24. 24

    将另一个项目添加到列表<>

  25. 25

    从另一个WPF窗口将项目添加到列表框

  26. 26

    如何将包含Pod的框架添加到另一个项目中

  27. 27

    如何使用gradle将依赖项正确添加到另一个项目?

  28. 28

    Android-将项目从另一个活动onButtonClick添加到ListView

  29. 29

    如何将一个对象添加到另一个对象的列表中并将其保存在 JSF 中?

热门标签

归档