【问题标题】:Make Infragistics Ultragrid look "Disabled"使 Infragistics Ultragrid 看起来“已禁用”
【发布时间】:2020-05-22 20:33:37
【问题描述】:

我有一个需要修改的旧版 .NET WinForms 应用程序。我们正在使用 Infragistics UltraGrid 来显示一些信息。新要求是网格在某些情况下必须是“只读”的。为此,我已成功设置grdMain.DisplayLayout.Override.AllowUpdategrdMain.DisplayLayout.Override.AllowDeletegrdMain.DisplayLayout.Override.AllowAddNew 属性,使网格为“只读”。但现在我需要更改网格的外观,使其看起来被禁用。这就是我的麻烦所在。我希望能够在启用和禁用之间切换网格的单元格文本和单元格背景颜色等。

注意:我实际上尝试使用 grdMain.Enabled 禁用网格,但是 当网格被禁用时,用户不能用它做“任何事情”,比如 调整列大小或突出显示和复制文本。所以那是一场破产。

我认为我可以强制执行此操作并迭代带和列或行并手动设置颜色,但在我看来,Infragistics 会考虑这样的事情,并且应该有一种更优雅的方式来处理它。如果您能提供任何信息,我们将不胜感激。

【问题讨论】:

    标签: .net infragistics ultrawingrid


    【解决方案1】:

    您需要为网格中的每一行、每一列或每个单元格设置Activation 才能禁用它。请记住,如果这样做,用户将无法选择单元格,也无法选择单元格的文本。单元格将被禁用 - 不允许突出显示或复制文本。

    您可以采取的其他方法是设置单元格的外观。要一次设置所有单元格的外观,您可以像这样使用 Override 对象的 CellAppearance:

    ultraGrid.DisplayLayout.Override.CellAppearance.BackColor = Color.LightGray;
    

    【讨论】:

    • 谢谢,就是这样。实际上,我最初尝试过这个。我的真正的 问题是有一些代码隐藏在它不应该存在的地方(糟糕的面向对象编码)正在设置各个列的BackColor 设置。列设置覆盖了网格设置。
    猜你喜欢
    • 1970-01-01
    • 2012-08-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    相关资源
    最近更新 更多