我有一个包含子产品对象的productVariant对象。我想在DataGridView中显示值,任何人都可以让我知道如何做到这一点?Windows窗体:在DataGridView中显示子对象值
这里是对象的结构。
我试图“ProductVariant.Product.Name”绑定到DataProptertyName在DataGridView,但是,它并没有不显示任何值。
任何人都可以帮忙吗?非常感谢。
我有一个包含子产品对象的productVariant对象。我想在DataGridView中显示值,任何人都可以让我知道如何做到这一点?Windows窗体:在DataGridView中显示子对象值
这里是对象的结构。
我试图“ProductVariant.Product.Name”绑定到DataProptertyName在DataGridView,但是,它并没有不显示任何值。
任何人都可以帮忙吗?非常感谢。
DataGridView控件无法自动绑定子对象。
如果你正在使用Win-forms,我的建议是创建两个对话窗口。
一个用于父对象(带有DGV),另一个用于子对象(带有DGV)。
当用户打开父窗口时,父对象将在DGV中逐行加载。
然后,如果用户双击父窗口上的一行,子窗口将显示出来,并且该父窗口的子对象将填充到子窗口上的DGV上。
通过这种方式,无论亲子关系多深,您都可以保持干净。而且,添加,编辑,删除等操作会更清洁。
您还可以使用一些第三方控件,如HierarchicalDataGridView。
WinForms绑定不允许遍历嵌套属性,尽管WPF中可能会有这种情况。对于WinForms最简单的解决方案是在顶层(绑定的实际类型)添加一个属性,该属性表示要绑定的内容 - 丑陋,我知道。
您可以实施自定义TypeDescriptor
并提供执行相同操作的PropertyDescriptor
。就班级以外的情况而言,这是最干净的解决方案,但这是一项不重要的工作。