1

入力フィールドが非表示の場合、入力フィールドのラベルを非表示にしたいと考えています。それらは動的に構築されるため、同じコンテキストにバインドできません。

すべてのビュー要素を取得して、それらをループしてラベルを動的に非表示にする方法はありますか?

4

3 に答える 3

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 に答える
1

各ビュー コントローラーには、最初は空の実装を持つメソッド WDDOMODIFYVIEW が含まれています。このメソッド内では、UI 要素の階層全体にアクセスでき、ラベルと入力フィールドの両方への参照を取得し、入力フィールドが非表示の場合にラベルを非表示にできるはずです。

于 2014-07-03T14:09:53.110 に答える