开发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 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容器。