Windows窗体:在DataGridView中显示子对象值
我有一个productVariant对象,它有子产品对象。 我想在DataGridView中显示值,任何人都可以让我知道如何做到这一点?
这是对象的结构。
我试图将“ProductVariant.Product.Name”绑定到DataGridView中的DataProptertyName,但是,它没有显示任何值。
有人能帮忙吗? 非常感谢。
DataGridView控件无法自动绑定子对象。
如果您正在使用Win-forms,我的建议是创建两个Dialog窗口。
一个用于父对象(带有DGV),另一个用于子对象(带有DGV)。
当用户打开父窗口时,将在DGV中逐行加载父对象。
然后,如果用户双击父窗口上的一行,则子窗口将显示出来,并且该父窗口的子对象将填充在子窗口上的DGV上。
通过这种方式,无论亲子关系有多深,您都可以保持清洁。 此外,添加,编辑,删除等操作会更加清晰。
您还可以使用一些第三方控件,如HierarchicalDataGridView 。
WinForms绑定不允许遍历嵌套属性,尽管在WPF中可以这样做。 WinForms最简单的解决方案是在顶层添加一个属性(绑定的实际类型),表示你想要绑定的东西 – 丑陋,我知道。
您可以实现自定义TypeDescriptor
并提供执行相同操作的PropertyDescriptor
。 对于在课堂外暴露的内容,这是最干净的解决方案,但这是一项非常重要的工作。
- 初始化字符串的格式不符合从索引0开始的规范
- 更改WPF数据网格中滚动条的位置
- entity frameworkCodeFirst延迟经历
- 使用Expression <Func >以与Func 相同的方式编写调用
- 无法在global.asax / Application_Start中断
- 使用控制台应用程序在C#中使用GenerateConsoleCtrlEvent
- new FileInfo(path).Name与Path.GetFileName(path)
- Asp.Net Core 2如何访问ConfigureServices中的IHostingEnvironment?
- NHibernate如何查询IList 属性?