您的位置:首页 > 其它

webdynpro中给不同的TAB标签设置数据

2013-01-29 17:00 309 查看
根据选取不同的TAB标签进行设置数据,参考下图:

1)首先定义一个属性;

2)给TAB组件设置事件;

代码:

METHOD ONACTIONTAB_SELECT .

  DATA: LO_NODE TYPE REF TO IF_WD_CONTEXT_NODE,

        LW_NAME TYPE STRING.

  DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT.

  DATA LS_CONTEXT TYPE WD_THIS->ELEMENT_CONTEXT.

  DATA LV_TABCHOOSE TYPE WD_THIS->ELEMENT_CONTEXT-TABCHOOSE.

*   GET ELEMENT VIA LEAD SELECTION

  LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ).

*   @TODO HANDLE NOT SET LEAD SELECTION

  IF LO_EL_CONTEXT IS INITIAL.

  ENDIF.

*   @TODO FILL ATTRIBUTE
*   LV_TABCHOOSE = 1.

  LW_NAME = WDEVENT->GET_STRING('TAB').

  IF LW_NAME CS 'TAB_1'.

    LV_TABCHOOSE = '1'.

  ELSEIF LW_NAME CS 'TAB_2'.

    LV_TABCHOOSE = '2'.

  ENDIF.
*   SET SINGLE ATTRIBUTE

  LO_EL_CONTEXT->SET_ATTRIBUTE(

    NAME =  `TABCHOOSE`

    VALUE = LV_TABCHOOSE ).
ENDMETHOD.

3)点击批量修改按钮时,获取TABCHOOSE属性;

 DATA lo_el_context TYPE REF TO if_wd_context_element.

  DATA ls_context TYPE wd_this->Element_context.

  DATA lv_tabchoose TYPE wd_this->Element_context-tabchoose.

* get element via lead selection

  lo_el_context = wd_context->get_element( ).
* @TODO handle not set lead selection

* get single attribute

  lo_el_context->get_attribute(

    EXPORTING

      name =  `TABCHOOSE`

    IMPORTING

      value = lv_tabchoose ).

  if lv_tabchoose eq 'TAB_1'.

    DATA LO_ND_ITOUT2_1 TYPE REF TO IF_WD_CONTEXT_NODE.

    DATA LT_ITOUT2_1 TYPE WD_THIS->ELEMENTS_ITOUT2_1.

    DATA LS_ITOUT2_1 TYPE WD_THIS->ELEMENT_ITOUT2_1.

* navigate from <CONTEXT> to <ITOUT2_1> via lead selection

    LO_ND_ITOUT2_1 = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ITOUT2_1 ).

* @TODO handle non existant child
* IF lo_nd_itout2_1 IS INITIAL.
* ENDIF.

    LO_ND_ITOUT2_1->GET_STATIC_ATTRIBUTES_TABLE( IMPORTING TABLE = LT_ITOUT2_1 ).

* navigate from <CONTEXT> to <ITOUT2_1> via lead selection

    LO_ND_ITOUT2_1 = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ITOUT2_1 ).

    LO_ND_ITOUT2_1->BIND_TABLE( NEW_ITEMS = LT_ITOUT2_1 SET_INITIAL_ELEMENTS = ABAP_TRUE ).

  

  elseif lv_tabchoose eq 'TAB_2'.

            DATA LO_ND_ITOUT2_2 TYPE REF TO IF_WD_CONTEXT_NODE.

    DATA LT_ITOUT2_2 TYPE WD_THIS->ELEMENTS_ITOUT2_2.

    DATA LS_ITOUT2_2 TYPE WD_THIS->ELEMENT_ITOUT2_2.

* navigate from <CONTEXT> to <ITOUT2_1> via lead selection

    LO_ND_ITOUT2_2 = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ITOUT2_2 ).

* @TODO handle non existant child
* IF lo_nd_itout2_1 IS INITIAL.
* ENDIF.

    LO_ND_ITOUT2_2->GET_STATIC_ATTRIBUTES_TABLE( IMPORTING TABLE = LT_ITOUT2_2 ).

* navigate from <CONTEXT> to <ITOUT2_1> via lead selection

    LO_ND_ITOUT2_2 = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ITOUT2_2 ).

* @TODO handle non existant child
* IF lo_nd_itout2_1 IS INITIAL.
* ENDIF.

** @TODO compute values
** e.g. call a model function
*

    LO_ND_ITOUT2_2->BIND_TABLE( NEW_ITEMS = LT_ITOUT2_2 SET_INITIAL_ELEMENTS = ABAP_TRUE ).

  endif.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐