在Datagridview中显示子对象的属性

时间:2010-12-20 20:04:18

标签: linq datagridview datatable

如何在datagridview中显示对象的选定属性,以及第一个对象的成员对象的选定属性?我想我不需要绑定,但依赖于硬编码更新,因为更新将在非UI线程上启动,我认为绑定不会那么容易。至少我在其他项目中遇到过这个问题。

基本上我想了解我可以用不同的方式做到这一点。也许使用LINQ,或任何最合适的。注意:我想在同一个表中显示数据。由于孩子/父母是1:1的关系。

示例代码:

Public Class User
public property Score as Integer
public property Details as UserDetails
End Class

Public Class UserDetails
public property Name as String
public property userName as String
End Class

因此,我希望表格显示列:分数,名称,用户名


修改 哦,这比我想象的要容易,似乎这会起作用:

Dim q = (From n in userList Select New With {n.Score, n.Details.Name, n.Details.userName}).ToArray

2 个答案:

答案 0 :(得分:2)

如果您使用ITypedList接口公开所需的属性,则可以在此处使用数据绑定。

ITypedList非常强大,但有点难以理解,IME。我找到的最好的教程是Tips for binding grids to hierarchical data using the ITypedList interface

答案 1 :(得分:1)

对于记录,这看起来是合适的解决方案:

Dim q = (From n in userList Select New With {n.Score, n.Details.Name, n.Details.userName}).ToArray