创建一个简单的ALV实例。
先看一下效果。
下面是创建步骤:
先创建一个Web Dynpro组件。
添加ALV组件
在COMPONENTCONTROLLER 的Properties中添加ALV组件。
在View中添加两个控件,一个Button一个ViewContainerUIElement。
设置VCU_ALV
设置Button的Text和事件onAction。
添加Context
页面加载时绑定ALV控件
DATA: dyn_node TYPE REF TO if_wd_context_node.
dyn_node = wd_context->get_child_node( name = 'LT_MARA' ).
DATA: lo_interfacecontroller type ref to iwci_salv_wd_table.
lo_interfacecontroller = wd_this->wd_cpifc_alv( ).
lo_interfacecontroller->set_data( dyn_node ).
点击Search按钮时显示数据。
DATA lo_nd_lt_mara TYPE REF TO if_wd_context_node.
DATA lt_lt_mara TYPE wd_this->Elements_lt_mara.
* navigate from <CONTEXT> to <LT_MARA> via lead selection
lo_nd_lt_mara = wd_context->get_child_node( name = wd_this->wdctx_lt_mara ).
* @TODO handle non existant child
* IF lo_nd_lt_mara IS INITIAL.
* ENDIF.
** @TODO compute values
** e.g. call a model function
*
SELECT * INTO TABLE lt_lt_mara FROM MARA UP TO 50 ROWS.
lo_nd_lt_mara->bind_table( new_items = lt_lt_mara set_initial_elements = abap_true ).
然后保存激活各项。
创建测试程序
点击Test测试结果OK。
附:
事件响应顺序
页面加载
WDDOINIT
WDDOMODIFYVIEW 页面加载
按钮事件
WDDOBEFOREACTION
ONACTIONSEARCH 按钮事件
WDDOAFTERACTION
WDDOMODIFYVIEW