【发布时间】:2012-05-30 09:22:57
【问题描述】:
假设我有一个想要在 DataGridView 中显示的属性,但在 PropertyGrid 中显示同一对象时却没有。我知道我可以使用[Browsable(false)],但这在两个视图中都隐藏了它。我也可以做一个gridView.Columns["blah"].Visible = false;,但这与我想要的相反,因为它隐藏在 DataGridView 中而不是 PropertyGrid 中。有什么办法可以逆转吗? (创建一个全新的 DataTable 只是为了保存相同的数据减去一个字段,而是将所有内容重新绑定到该数据表 - 这确实是一种做事的方式。)或者,我可以接受一个向 DataGridView 添加一列的解决方案实际课程中不存在。
【问题讨论】:
-
当他们真正回答我的问题时,我会接受他们。我的问题有一半几乎没有任何意见,更不用说好的回答了。
-
我称这是一个错误。
Browsable特别声明它决定了成员在属性窗口中的可见性。这与 DGV 无关。您可以打开一个连接问题,但他们修复它的几率正好为零。修复无疑会破坏现有代码。我认为你在这里不走运。 -
该死的。当然,他们可以添加一个新的装饰器,而不是尝试修复 Browsable,但仍然很糟糕,没有办法做到这一点。你会认为这不会是一个不常见的请求......
-
是的,他们不会修复它还有另一个原因,即使它是一个非破坏性修复:WinForms 自 2.0 以来就没有被触及;它被认为已被 WPF 取代。
标签: c# properties datagridview hide propertygrid