gpt4 book ai didi

powerbuilder - 有没有办法处理基于网格的数据窗口中单行下拉列表的动态变化?

转载 作者:行者123 更新时间:2023-12-04 08:00:25 25 4
gpt4 key购买 nike

有没有办法处理基于网格的数据窗口中单行下拉列表的动态变化?

例子:

NAME    LIKABILITY         PURCHASED IN  COLOUR
(Text) (DropDown*) (Text) (Text)
Bananas [Good] Hands Yellow
[Bad]
[Bananas are good]

Apples [Good] Bags Red
[Bad]

鉴于上面是一个基于网格的数据窗口,其中字段 NAME , PURCHASED INCOLOUR是文本字段,其中 LIKABILITY字段是一个下拉列表*。

我说 dropdown* 是因为可以通过使用 DropDownList(在设计时在数据窗口元素中硬编码)或 DropDownDW(或 DDDW,可以基于数据窗口中的其他元素的选择语句)来创建相同的视觉表示。

但是,我无法获得 Bananas有 3 个下拉菜单,而 Apples 只有 2 个。

如果我输入多行 Bananas ,然后所有行都有 3 个下拉列表,但是一旦我添加了 Apples 行,所有下拉列表都会恢复为 2 个选项。

为了尝试实现此功能,我尝试了以下选项:
  • dw_1.Object.likability.values("Good~tG/Bad~tB/Bananas are good~tDRWHO")编辑 NAME 时在 ue_itemchange 上。

    FAILS:编辑 LIKABILITY 的所有实例而不是当前行。
  • 重复的下拉列表,每行有一个过滤的选择列表,一个未过滤的选择列表,根据 NAME 选择可见。

    失败:无法在基于网格的数据窗口上设置可见性/重叠列。 (Source)
  • 硬编码显示值作为数据库值,反之亦然。有 GOOD , BAD , BANANASAREGOOD作为显示和数据库值,并将选项的处理从 G、B、DRWHO 更改为这些新值。

    失败:第三个选项出现在所有行上,仍然可以在 Apple 行上选择,这是错误的。
  • DDDW 检索下拉选项列表。创建一个 DDDW,它使用 NAME 的值来确定它应该为下拉列表选择哪些选项。

    失败:编辑下拉列表的所有实例,而不仅仅是当前行。
  • DDDW 检索可用选项的计数器(如果 B 则为 3,否则为 2),然后具有基于 DDDW 计数器保护/取消保护的重复下拉列。

    失败:无法自动选择 dddw 值来填充列以保护其他两列,无论如何都是丑陋的解决方案。

  • 现在有一个 赏金关于这个问题的任何人都可以给我一个解决方案,使我能够在 PB 10.5 中的基于网格的数据窗口上编辑单行的下拉列

    最佳答案

    因此,您的问题的答案是否定的,您不能逐行在 DropDownListBoxes(或 DropDownDataWindows)中拥有唯一的内容。

    您的问题的解决方案更为复杂。您可以在 RowFocusChanged 上更改下拉列表的内容,但是代码值不再位于值列表中的行上的表示会发生什么情况?仅显示代码值。如果显示 R 而不是 Red,那么当您不在特定行上时,这不是很好。因此,一个常见的解决方案是有两个控件,直接在另一个之上,以表示该数据:一个在行有焦点时可见(下拉任何内容),另一个在其他行有焦点时可见, 显示代码的显示值。过去,我使用静态文本或虚拟编辑样式列作为第二个控件完成此操作,并在第一列的 ItemChanged 上设置值。但是,今天早上我推测,如果第二个控件是一个下拉列,指向数据集中的同一列,并且始终包含完整的值集,那么您可以在不编写脚本的情况下执行此操作。我将把实验(以及完成这项工作所需的其他几个部分,比如当用户单击另一行的第二个控件时会发生什么)留给您。

    祝你好运,

    特里。

    附录

    您询问了如何逐行完成工作。这对你来说就像圣诞节(或其他一些文化上合适的大型礼物接收假期)。在 DataWindow Painter 的 Properties Pane 中看到右侧带有等号按钮的所有元素吗?这使您可以输入一个表达式,该表达式将逐行计算以确定属性的值。输入表达式以便字段仅在当前行时可见?

    if (getrow() = currentrow(), 1, 0)

    您还可以在运行时 Modify() 这些表达式。我会让你帮忙挖掘它。该帮助还为您提供了每个 DataWindow 控件元素的属性列表,其中包括在表中每个属性是否采用表达式。 (等于按钮不是故事的 100%;并非所有可表达的属性都可以通过 IDE 表达。)

    Side note: If you get expressions and learn how to master them, you'll get the power of the DataWindow.



    至于网格,我的第二个列在列上的建议在网格中不起作用,显然已经足够了。是时候回退到使用列和静态文本,例如,使用 ItemChanged 脚本。

    T。

    关于powerbuilder - 有没有办法处理基于网格的数据窗口中单行下拉列表的动态变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2550315/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com