有没有办法处理基于网格的数据窗口中单行下拉列表的动态变化?
例子:
NAME LIKABILITY PURCHASED IN COLOUR
(Text) (DropDown*) (Text) (Text)
Bananas [Good] Hands Yellow
[Bad]
[Bananas are good]
Apples [Good] Bags Red
[Bad]
鉴于上面是一个基于网格的数据窗口,其中 fieldsNAME
和是文本字段,其中 asPURCHASED IN
字段是下拉列表*。COLOUR
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 的所有实例而不是当前行。
重复的下拉列表,每行有一个过滤的,一个未过滤的选择列表,基于名称选择可见。
失败:无法在基于网格的数据窗口上设置可见性/重叠列。(来源)
硬编码显示值作为数据库值,反之亦然。
GOOD
将,BAD
,BANANASAREGOOD
作为显示和数据库值,并将选项处理从 G、B、DRWHO 更改为这些新值。失败:所有行都出现第三个选项,在 Apple 行上仍然可以选择,这是错误的。
DDDW 检索下拉选项列表。创建一个 DDDW,它使用 NAME 的值来确定它应该对下拉列表进行哪些选择。
FAILS:编辑下拉列表的所有实例,而不仅仅是当前行。
DDDW 检索可用选项的计数器(如果 B,则为 3,否则为 2),然后具有基于 DDDW 计数器保护/取消保护的重复下拉列。
失败:无法自动选择 dddw 值来填充列以对其他两列造成保护,无论如何都是丑陋的解决方案。
对于任何可以给我一个解决方案的人来说,现在有一个赏金,这将使我能够在 PB 10.5 中基于网格的数据窗口上编辑单行的下拉列