繁体   English   中英

如何获取视图的所有ui元素? (Web Dynpro ABAP)

[英]How do i get all ui elements of a view? (Web Dynpro ABAP)

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

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

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

这是一些示例动作处理程序代码,该代码在容器内找到标签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.

首先,编写第二个程序,该程序将使用SUBMIT ABAP指令和EXPORTING LIST TO MEMORY附加项来调用您的程序。

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

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

干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM