一个简单的webdynpro的ALV示例

开发alv的时候需要
1、在web dynpro组件下面 的已使用的组件中添加ALV组件 SALV_WD_TABLE


2、在组件控制器的属性下面创建ALV组件SALV_WD_TABLE


3、在视图界面的属性下面也要添加ALV组件SALV_WD_TABLE


4、在视图界面下定义控件ViewContainerUIElement名称是UCV_ALV

5、在窗口下面的视图下面UCV_ALV下面嵌套选择ALV 的TABLE

6、定义节点.

7、页面加载事件WDDOMODIFYVIEW下面绑定ALV控件:

  DATA: dyn_node TYPE REF TO if_wd_context_node.
  dyn_node = wd_context->get_child_node( name = 'LT_SFLIGHT' ).
  DATA: lo_interfacecontroller type ref to iwci_salv_wd_table.
  lo_interfacecontroller = wd_this->wd_cpifc_alv( ). "在视图中添加ALV组件才会生成此wd_cpifc_alv方法
  lo_interfacecontroller->set_data( dyn_node ).

8、执行SEARCH按钮事件

    DATA lo_nd_lt_sflight TYPE REF TO if_wd_context_node.

    DATA lo_el_lt_sflight TYPE REF TO if_wd_context_element.
    DATA ls_lt_sflight TYPE wd_this->Element_lt_sflight.
    DATA lt_lt_sflight TYPE wd_this->Elements_lt_sflight.


    lo_nd_lt_sflight = wd_context->get_child_node( name = wd_this->wdctx_lt_sflight ).

    SELECT * INTO TABLE lt_lt_sflight from sflight UP TO 10 ROWS. "NEW_ITEMS  BIND_TABLE  SET_INITIAL_ELEMENTS  ABAP_TRUE
      lo_nd_lt_sflight->BIND_TABLE(
      EXPORTING
        NEW_ITEMS = lt_lt_sflight
        SET_INITIAL_ELEMENTS = ABAP_FALSE ).

 

9、执行效果

 

 

 更新:可以忽视以上的操作,主要有以下三点

         1、需要在组件控制器和视图控制器上加入ALV组件 SALV_WD_TABLE

         2、需要把需要展示的数据节点设置成全局节点,还需要把该全局节点传输到alv组件下节点的DATA节点中去,方法是在alv组件下的上下文菜单下点击控制器的用法,然后映射全局节点至DATA节点下。

        3、在视图控制器下的outbound plugs下创建输出plug name,然后打开窗口控制器,在ALV容器元素组件下添加alv视图TABLE,把在视图下创建的输出plug name和该alv的table视图下的default连接。因为一个视图下可能会指向多个alv容器。

 

 

 

 

 

posted @ 2014-06-04 16:00  学习笔记NO.1  阅读(4585)  评论(1编辑  收藏  举报