WDA: Set Cursor focus

Create a Node and add two attributes

WDA: <wbr>Set <wbr>Cursor <wbr>focus

Create two input fields and two buttons

WDA: <wbr>Set <wbr>Cursor <wbr>focus



when Press button "Set focus 1". clear field 2 and set focus on field 1.
when Press button "Set focus 2". clear field 1 and set focus on field 2.
WDA: <wbr>Set <wbr>Cursor <wbr>focus


Codes:
METHOD onactionact_set1  .
   DATA lo_nd_node_test  TYPE  REF  TO if_wd_context_node .
   DATA lo_el_node_test  TYPE  REF  TO if_wd_context_element .
   DATA ls_node_test  TYPE wd_this ->element_node_test .
   DATA lv_field1  TYPE wd_this ->element_node_test -field1 .
   DATA lv_field2  TYPE wd_this ->element_node_test -field2 .
*   navigate from  to  via lead selection
  lo_nd_node_test  wd_context ->get_child_node name  wd_this ->wdctx_node_test  ) .

*   get element via lead selection
  lo_el_node_test  lo_nd_node_test ->get_element ) .


   CLEAR lv_field1 .
  lv_field1  'Focus ME' .
*   set single attribute
  lo_el_node_test ->set_attribute (
    name  =   `FIELD1`
     value  lv_field1  ) .

* set single attribute
   CLEAR lv_field2 .
  lo_el_node_test ->set_attribute (
    name  =   `FIELD2`
     value  lv_field2  ) .

*-----------set focus
   DATA lo_api_main  TYPE  REF  TO if_wd_view_controller .
  lo_api_main  wd_this ->wd_get_api ) .

  lo_api_main ->request_focus (
     EXPORTING
      context_element  =  lo_el_node_test    " Context Element
      attribute        =   'FIELD1'     " Context Attribute
*    focus_info      =     " See CL_WD_FOCUS_INFO=>NEW_*
   ) .


ENDMETHOD .


METHOD onactionact_set2 .
  DATA lo_nd_node_test TYPE REF TO if_wd_context_node.
  DATA lo_el_node_test TYPE REF TO if_wd_context_element.
  DATA ls_node_test TYPE wd_this->element_node_test.
  DATA lv_field1 TYPE wd_this->element_node_test-field1.
  DATA lv_field2 TYPE wd_this->element_node_test-field2.

*   navigate from  to  via lead selection
  lo_nd_node_test wd_context->get_child_nodename wd_this->wdctx_node_test ).

*   get element via lead selection
  lo_el_node_test lo_nd_node_test->get_element).


  CLEAR lv_field1.
  lv_field1 'Focus ME'.
*   set single attribute
  lo_el_node_test->set_attribute(
    name =  `FIELD2`
    value lv_field1 ).

* set single attribute
  CLEAR lv_field1.
  lo_el_node_test->set_attribute(
    name =  `FIELD1`
    value lv_field1 ).

*-----------set focus
  DATA lo_api_main TYPE REF TO if_wd_view_controller.
  lo_api_main wd_this->wd_get_api).

  lo_api_main->request_focus(
    EXPORTING
      context_element =  lo_el_node_test   " Context Element
      attribute       =  'FIELD2'    " Context Attribute
*    focus_info      =     " See CL_WD_FOCUS_INFO=>NEW_*
  ).



ENDMETHOD.


you can use the  guide  to create get API codes
WDA: <wbr>Set <wbr>Cursor <wbr>focus

你可能感兴趣的:(WebDynpro)