2009-09-01 45 views
0

所以我有类似如下的数据结构(略构造函数)DataGridView的具体行DataGridViewComboBoxColumn内容

class Child { 
    public string Name { get; set; } 
    public int Age { get; set; } 
} 

class Parent { 
    public string Name { get; set; } 
    public List <Child> Children { get; private set; } // never null; list never empty 
    public Child FavoriteChild { get; set; }    // never null; always a reference to a Child in Children 
} 

List <Parent> Parents; 

我想要做的就是展示一个DataGridView其中每行是从父目录父。每行应该有两列:一个显示父代名称的文本框和一个包含该父代子代的DataGridViewComboBoxColumn,用户可以从中选择父代最喜欢的子代。

我想我可以手动完成所有的事情,但我想用或多或少的标准数据绑定来完成所有这些。很容易将DataGridView绑定到父列表,并且很容易将选定的子项绑定到FavoriteChild属性。

多数民众赞成给我困难的部分是,它看起来像组合框列要绑定到一个数据源所有组合框中的所有行的内容。我希望组合框的每个实例都绑定到每个父项子项的列表。

我对C#/ Windows Forms相当陌生,所以我很可能会错过某些明显的东西。或者它可能是“你无法从这里到达那里”。

将所有孩子单独列出并由父母过滤它并不难,我正在研究这种可能性。这是可行的,还是有更好的方法?

+0

父母不应该有最喜欢的孩子;-) – baruch 2011-09-21 17:54:27

回答

0

看起来像this question的答案让我走上正轨。我附加了一个处理程序到RowsAdded事件并手动设置组合框数据源。

相关问题