可浏览属性和Infragistics WinGrid

3

我在处理Infragistics WinGrid的数据绑定行为时遇到了困难。

可以手动定义数据架构(我正在这样做),也可以在绑定时告诉网格,即使我的数据源有它们,我也不希望网格显示额外的带或列。

DisplayLayout.NewBandLoadStyle = Infragistics.Win.UltraWinGrid.NewBandLoadStyle.Hide;
DisplayLayout.NewColumnLoadStyle = Infragistics.Win.UltraWinGrid.NewColumnLoadStyle.Hide;

问题在于,网格始终尝试获取属性的值,即使它不在列布局中。但是,在域对象中可以使用可浏览属性:
[Browsable(false)]

网格将忽略该属性(不会尝试使用该属性的getter)。但我认为这是一个很差的解决方法。有人知道一种有效的方法来指示网格仅获取布局中定义的项目的值吗?

非常感谢。


Infragistics 库是一个 bug 藏身处。请使用供应商的支持论坛寻求帮助。 - Hans Passant
你的问题实际上给了我我正在寻找的答案[Browsable(false)],所以它不会读取一个昂贵的属性(遗留)。谢谢! - BlackTigerX
1个回答

0
在网格的DisplayLayout中,有一个MaxBandDepth属性。这将限制显示的层数。
例如,如果您有一个包含2个表(父子关系)的分层数据源,并将MaxBandDepth设置为1,则只会显示父表的信息。

嗨,David, 谢谢你的回答,很有用,但不是我要找的。我的问题不在那个层面上,而是在像父级别的简单计算属性之类的东西上。我可以用getter方法替换属性,但在我的情况下,我不会充分利用NHibernate的全部功能。根本问题是Infragistics网格使用绑定管理器,它将始终获取所有属性,我相信解决我的问题的唯一方法是编写自己的绑定管理器。 - Pedro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接