• WDA学习(16):Creat Total in ALV


    2.8 Creat Total or Subtotal in ALV

              本實例展示如何創建ALV顯示航班信息,並且根據不同幣別匯眾價格Price欄位。

    1.創建Web Dynpro Component,聲明使用ALV組件

     

     

     2.這次直接在組件控制器上下文創建節點

     

     

     設置NODE_SFLIGHT和ALV接口控制器的上下文Context:DATA綁定

     

     3.設置MAIN視圖組件

    Properties頁簽

    聲明使用ALV組件及組件接口控制器

     

     Layout頁簽

    創建ViewContainterUIElement視圖控件,作為顯示ALV的容器

    Context頁簽

    直接將組件控制器的上下文節點拖動到MAIN視圖組件上下文節點下,創建映射關係

     

     Methods頁簽

    實現WDDOINIT方法,查詢sflight表數據,將數據綁定到Context:Node_Sflight節點;

    創建Total匯總規則;

    代碼實例:

    method WDDOINIT .
      DATA:lo_node TYPE REF TO if_wd_context_node.
      DATA:lt_sflight TYPE wd_this->Elements_node_sflight.
    
      "查詢數據
      SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_sflight FROM sflight.
      "獲取節點
      lo_node = wd_context->get_child_node( 'NODE_SFLIGHT' ).
      lo_node->bind_table( lt_sflight ).
    
      "實例化ALV組件
      DATA:lo_cmp_usage type ref to if_wd_component_usage.
      lo_cmp_usage =   wd_this->wd_cpuse_alv( ).
      if lo_cmp_usage->has_active_component( ) is initial.
        lo_cmp_usage->create_component( ).
      endif.
      "因為在ALV:INTERFACECONTROLLER_USAGE中設置DATA和NODE_SFLIGHT綁定
      "這裡不需要使用set_data方法綁定
    
      "獲取config model
      DATA:lo_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE .
      lo_INTERFACECONTROLLER =   wd_this->wd_cpifc_alv( ).
      DATA:lv_value TYPE ref to cl_salv_wd_config_table.
      lv_value = lo_interfacecontroller->get_model( ).
    
      "設置字段
      DATA:lo_field TYPE REF TO cl_salv_wd_field.
      "獲取PRICE字段
      lo_field = lv_value->IF_SALV_WD_FIELD_SETTINGS~GET_FIELD( 'PRICE' ).
      "設置匯總
      lo_field->IF_SALV_WD_AGGR~CREATE_AGGR_RULE( AGGREGATION_TYPE = IF_SALV_WD_C_AGGREGATION=>AGGRTYPE_TOTAL ).
      lo_field = lv_value->IF_SALV_WD_FIELD_SETTINGS~GET_FIELD( 'CURRENCY' ).
      "設置CURR排序
      lo_field->IF_SALV_WD_SORT~CREATE_SORT_RULE(
        EXPORTING
          SORT_ORDER = IF_SALV_WD_C_SORT=>SORT_ORDER_ASCENDING
          SORT_POSITION = 0
          GROUP_AGGREGATION = abap_true
      ).
    endmethod.
    View Code

    4.設置Window窗口組件

     

     5.創建Web Dynpro Application,運行測試

     

  • 相关阅读:
    数据库学习摘记 —— 关系代数和关系演算
    数据库学习摘记 —— 数据库基本概念杂记
    POJ 3130 How I Mathematician Wonder What You Are! (半平面相交)
    POJ 3311 Hie with the Pie (状压dp)
    hdu 1533 Going Home (最小费用最大流)
    bzoj 2115 Xor (线性基)
    hdu 5120 Intersection (圆环面积相交->圆面积相交)
    BZOJ 2460 元素(线性基)
    POJ 3348 Cows (凸包模板+凸包面积)
    UVA 12012 Detection of Extraterrestrial(KMP求循环节)
  • 原文地址:https://www.cnblogs.com/tangToms/p/12900724.html
Copyright © 2020-2023  润新知