1

当输入字段不可见时,我想使输入字段的标签不可见。我不能将它绑定到相同的上下文,因为它们是动态构建的。

有没有办法获取所有视图元素,以便我可以循环它们并使标签动态不可见?

4

3 回答 3

1

每个视图控制器都包含方法 WDDOMODIFYVIEW 和一个初始为空的实现。在此方法中,您可以访问整个 UI 元素层次结构,并且应该能够检索对标签和输入字段的引用,并在输入字段被隐藏的情况下隐藏标签。

于 2014-07-03T14:09:53.110 回答
1

这是一些示例动作处理程序代码,它MYLABEL在容器内找到标签并将其隐藏。它并没有完全涵盖您的用例,但我认为它可以帮助您入门。

data view type ref to cl_wdr_view.
view ?= wd_this->wd_get_api( ).
data container type ref to cl_wd_uielement_container.
container ?= view->root_element.
data children type cl_wd_uielement=>tt_uielement.
children = container->get_children( ).
data element type ref to cl_wd_uielement.
loop at children into element.
  data id type string.
  id = element->get_id( ).
  if id = `MYLABEL`.
    element->set_visible( `01` ).
  endif.
endloop.
于 2012-12-18T20:06:18.500 回答
0

首先,编写第二个程序,该程序将负责使用带有 EXPORTING LIST TO MEMORY 的 SUBMIT ABAP 指令调用您的程序。

当您运行此调用程序时,它将使用 SUBIT 调用您的程序,但系统不会在屏幕上生成输出,而是将输出发送到系统内存。

稍后,在 webdynpro 或任何其他程序中,您可以调用 ABAP 函数 LIST_FROM_MEMORY 将程序的早期输出检索到内部表。

干杯!

于 2015-12-13T21:19:50.357 回答