【问题标题】:"Dynamics Nav 2017" Why cant you set the visibility of fields on a card?“Dynamics Nav 2017”为什么不能在卡片上设置字段的可见性?
【发布时间】:2019-07-23 17:27:05
【问题描述】:

据我所知,可以使用卡片页面上字段的可见性属性,但它们不起作用。这是为什么呢?

可以将属性用于页面部分和组,但不能用于字段,无论它们是在组内还是仅在页面上。

page card with tests in editor

page with bool Show1 = true

page with bool Show2 = true

我有布尔 Show1 和 Show2(属性 IncludeInDataset = TRUE)。根据记录,Show1 为 TRUE,Show2 为 False 或相反。

  1. (在图 1 中:)这适用于该组。它和其中的所有字段只有在 Show1 为 TRUE 时才可见。

  2. (在图片 2,3 中:)它适用于零件。页面部件只有在可见性属性中的布尔值为 TRUE 时才可见。

  3. (在图 4 中:)仅显示代码在页面上有效。 (在图 5 中:)如果我将可见性属性设置为变量,则无论该变量是 TRUE 还是 FALSE,该字段都不可见。

我知道我仍然可以通过复制没有特定字段的字段存在的整个组来管理动态显示字段的效果,然后隐藏和显示 2 个组以模拟隐藏和显示字段。尽管如此,我还是问自己,为什么需要使用这种解决方法,并认为 stack-overflow 的某个人可能知道。

是技术限制还是其他原因?

【问题讨论】:

    标签: dynamics-nav


    【解决方案1】:

    组是字段的父元素。当您将组的可见性设置为 false 时,此属性也会应用于该组中的字段。 反过来,如果您将组的可见性设置为 true,您可以隐藏该组内的特定字段。 这与 Dynamics NAV 在后台进行的渲染有关。 渲染是指应用程序的窗口大小等。

    但由于 Dynamics NAV 在这种情况下是一个黑匣子,我无法告诉你更多信息。

    【讨论】:

    • 我不知道渲染的东西。当我为 upvote 功能获得积分时,我会对此表示赞成,但我将问题保持开放,希望知道“黑盒”或其背后的 c# 代码的人可以回答。
    【解决方案2】:

    NAV 似乎不太关心现场级别的可见性设置。至少不是出于动态目的。

    如果我需要动态隐藏字段,我总是将该字段放在一个额外的组中并设置该组的可见性。如果您没有在这个额外的组上指定任何名称或标题,则它根本不可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 2020-03-28
      • 2014-06-07
      相关资源
      最近更新 更多