【问题标题】:Browseable attribute and Infragistics WinGrid可浏览属性和 Infragistics WinGrid
【发布时间】:2011-02-11 12:24:30
【问题描述】:

我正在努力解决 Infragistics WinGrid 的数据绑定行为。 可以手动定义数据模式(我正在这样做),也可以在绑定时告诉网格我不希望网格显示其他带或列,即使我的数据源有它们。

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

问题是网格总是试图获取属性的值,即使它不在列布局中。但是可以在域对象中使用 browseable 属性:

[Browsable(false)]

并且网格将忽略该属性(它不会尝试使用属性 getter)。但我相信这是一个蹩脚的解决方法。有谁知道一种有效的方法来指示网格仅获取布局中定义的项目的值。

非常感谢

【问题讨论】:

  • Infragistics 库是一个 bug 库。使用供应商的支持论坛获取帮助。
  • 您的问题实际上给了我正在寻找的答案 [Browsable(false)],因此它不会读取昂贵的属性(遗留)。谢谢!

标签: winforms infragistics ultrawingrid


【解决方案1】:

在网格的DisplayLayout中,有一个MaxBandDepth属性。这将限制显示的波段数量。

即如果您有一个包含 2 个表(父子关系)的分层数据源,并且您将 MaxBandDepth 设置为 1,那么只会显示父表的信息。

【讨论】:

  • 嗨,大卫,感谢您的回答,这很有用,但这不是我想要的。我的问题不在那个级别,而是在父级别计算属性之类的简单想法。我可以用 getter 方法替换属性,但我不会在我的情况下使用 NHibernate 的全部功能。根本问题是 Infragistics 网格正在使用始终获取所有属性的绑定管理器,我相信解决我的问题的唯一方法是编写我自己的绑定管理器。
猜你喜欢
  • 2010-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-26
相关资源
最近更新 更多