您的位置:首页 > 其它

WEB dynpro alv显示

2015-03-19 10:12 921 查看
 DATA:

    LR_ALV_USAGE       TYPE REF TO IF_WD_COMPONENT_USAGE,       "①重要的  下面要用

    LR_IF_CONTROLLER   TYPE REF TO IWCI_SALV_WD_TABLE,           "①重要的  下面要用

    LR_CONFIG          TYPE REF TO CL_SALV_WD_CONFIG_TABLE,       "②重要的  下面要用

    LR_COLUMN_SETTINGS TYPE REF TO IF_SALV_WD_COLUMN_SETTINGS,

    LO_TABLE_SETTINGS  TYPE REF TO IF_SALV_WD_TABLE_SETTINGS,

    LR_SALV_SETTINGS   TYPE REF TO IF_SALV_WD_TABLE_SETTINGS,

    LR_COLUMN          TYPE REF TO CL_SALV_WD_COLUMN,

    LT_COLUMNS         TYPE        SALV_WD_T_COLUMN_REF,

    LS_COLUMN          TYPE        SALV_WD_S_COLUMN_REF,

    LR_LINK            TYPE REF TO CL_SALV_WD_UIE_LINK_TO_ACTION,

    LR_CHECKBOX        TYPE REF TO CL_SALV_WD_UIE_CHECKBOX,

    LR_DROPDOWNBYKEY   TYPE REF TO CL_SALV_WD_UIE_A_DRDN_BY_KEY ,

    LR_DROPDOWNBYKEY2  TYPE REF TO CL_SALV_WD_UIE_DROPDOWN_BY_KEY,

    LR_DROPDOWN_BY_KEY TYPE REF TO CL_SALV_WD_UIE_DROPDOWN_BY_KEY,

    LR_COL_HEADER      TYPE REF TO CL_SALV_WD_COLUMN_HEADER,

    LR_COLUMN_HEADER   TYPE REF TO CL_SALV_WD_COLUMN_HEADER ,

    LR_IMAGE           TYPE REF TO CL_SALV_WD_UIE_IMAGE.

  FIELD-SYMBOLS

    <FS_COLUMN> LIKE LINE OF LT_COLUMNS.

  DATA: L_VALUE  TYPE REF TO CL_SALV_WD_CONFIG_TABLE.

* Instantiate the ALV Component实例化ALV组件

  LR_ALV_USAGE = WD_THIS->WD_CPUSE_ALV_TEST( ).                   "z"①重要的这块要改ALV_TEST

  IF LR_ALV_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.

    LR_ALV_USAGE->CREATE_COMPONENT( ).

  ENDIF.

* Get reference to model获取参考模型

  LR_IF_CONTROLLER = WD_THIS->WD_CPIFC_ALV_TEST( ).                  "①重要的  "z这块要改ALV_TEST

  LR_CONFIG        = LR_IF_CONTROLLER->GET_MODEL( ).                 "②重要的

*  CALL METHOD lr_if_controller->GET_MODEL   与上面一样的功能
*    RECEIVING
*      VALUE = lr_config.

* Set the UI elements.设置UI元素

  LR_COLUMN_SETTINGS ?= LR_CONFIG.

  LT_COLUMNS = LR_COLUMN_SETTINGS->GET_COLUMNS( ).

*4.ALV Table设置是否可以输入
*=========================================================

  LR_SALV_SETTINGS ?= LR_CONFIG.
*** set read_only

  LR_SALV_SETTINGS->SET_READ_ONLY( ABAP_FALSE ).

*5.ALV Table设置是否可以导出
*=========================================================
*LR_CONFIG->if_salv_wd_std_functions~set_export_allowed( abap_false ) ."设置是否可以导出

  LR_CONFIG->IF_SALV_WD_STD_FUNCTIONS~SET_EDIT_APPEND_ROW_ALLOWED( ABAP_FALSE ).  "“附加行

  LR_CONFIG->IF_SALV_WD_STD_FUNCTIONS~SET_EDIT_DELETE_ROW_ALLOWED( ABAP_FALSE ).  "删除行

  LR_CONFIG->IF_SALV_WD_STD_FUNCTIONS~SET_EDIT_INSERT_ROW_ALLOWED( ABAP_FALSE ).  "插入行

  LR_CONFIG->IF_SALV_WD_STD_FUNCTIONS~SET_PDF_ALLOWED( ABAP_FALSE ).              "打印版本

  LR_CONFIG->IF_SALV_WD_STD_FUNCTIONS~SET_EDIT_CHECK_AVAILABLE( ABAP_FALSE ).    "控制是否显示  检查 按钮
*6.ALV Table可显示行设置
*=========================================================

  "  l_value = LR_IF_CONTROLLER->get_model( ).

  LR_CONFIG->IF_SALV_WD_TABLE_SETTINGS~SET_VISIBLE_ROW_COUNT( '30' ).        "显示的行数

*7.ALV Table控制是否有默认的选择黄条,但是能点出黄条
*=========================================================

LR_CONFIG->IF_SALV_WD_TABLE_SETTINGS~SET_SELECTION_MODE( CL_WD_TABLE=>E_SELECTION_MODE-SINGLE_NO_LEAD ).

*8.ALV Table控制表中的列显示方式及描述,是否隐藏
*=========================================================
**************************************************************自定义显示

  LOOP AT LT_COLUMNS INTO LS_COLUMN.

    LR_COLUMN = LS_COLUMN-R_COLUMN.

    CASE LS_COLUMN-ID.

      WHEN 'MANDT'.

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).
*        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).
*        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).
*        LR_COL_HEADER->SET_TEXT(  '标记' ).
*
*        CREATE OBJECT LR_CHECKBOX
*          EXPORTING
*            CHECKED_FIELDNAME = LS_COLUMN-ID.
*
*    "    LR_CHECKBOX->SET_READ_ONLY_FIELDNAME( 'MANDT' ).
**        if ls_column-id is not INITIAL.
*        "         LR_CHECKBOX->SET_READ_ONLY( 'X' ).
**        endif.
*
*        LS_COLUMN-R_COLUMN->SET_CELL_EDITOR( LR_CHECKBOX ).
*
*        FREE LR_CHECKBOX.

      WHEN 'ZZ_KQSJD'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '考勤时段' ).

        CREATE OBJECT LR_DROPDOWNBYKEY2

          EXPORTING

            SELECTED_KEY_FIELDNAME = LS_COLUMN-ID.

        LR_DROPDOWNBYKEY2->SET_READ_ONLY( 'X' ).

        LS_COLUMN-R_COLUMN->SET_CELL_EDITOR( LR_DROPDOWNBYKEY2 ).

        FREE LR_DROPDOWNBYKEY2.

      WHEN 'ZZ_ZT'.

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).
*        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).
*        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).
*        LR_COL_HEADER->SET_TEXT(  '审核状态' ).
*
*        CREATE OBJECT LR_DROPDOWNBYKEY2
*          EXPORTING
*            SELECTED_KEY_FIELDNAME = LS_COLUMN-ID.
*        LR_DROPDOWNBYKEY2->SET_READ_ONLY( 'X' ).
*        LS_COLUMN-R_COLUMN->SET_CELL_EDITOR( LR_DROPDOWNBYKEY2 ).
*
*        FREE LR_DROPDOWNBYKEY2.

      WHEN 'ZAWART'.

 "       LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '修改考勤状态' ).

        CREATE OBJECT LR_DROPDOWNBYKEY2

          EXPORTING

            SELECTED_KEY_FIELDNAME = LS_COLUMN-ID.

        LS_COLUMN-R_COLUMN->SET_CELL_EDITOR( LR_DROPDOWNBYKEY2 ).

        FREE LR_DROPDOWNBYKEY2.

      WHEN 'ZZ_REASON'.

 "       LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '考勤状态修改原因' ).

        CREATE OBJECT LR_DROPDOWNBYKEY2

          EXPORTING

            SELECTED_KEY_FIELDNAME = LS_COLUMN-ID.

        LS_COLUMN-R_COLUMN->SET_CELL_EDITOR( LR_DROPDOWNBYKEY2 ).

        FREE LR_DROPDOWNBYKEY2.

      WHEN  'PERNR' .

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '人员编号' ).

      WHEN  'SNAME' .

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '人员姓名' ).

      WHEN 'LDATE'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '考勤日期' ).

      WHEN 'TXT1'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '一级部门' ).

      WHEN 'TXT2'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '二级部门' ).

      WHEN 'TXT3'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '三级部门' ).

      WHEN 'TXT4'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '四级部门' ).

      WHEN 'TXT5'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '五级部门' ).

      WHEN 'TXT6'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '考勤状态' ).

      WHEN 'GSBER'.

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '序号' ).

      WHEN  'ZZ_JG1' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'ZZ_JG2' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'ZZ_JG3' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'ZZ_JG4' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'ZZ_JG5' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'ZZ_JG6' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'PERSG' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'GEBER' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'ABWTG' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'AWART' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'LTIME' .

        LS_COLUMN-R_COLUMN->DELETE_HEADER( ).

        LR_COL_HEADER = LS_COLUMN-R_COLUMN->CREATE_HEADER( ).

        LR_COL_HEADER->SET_TEXT(  '刷卡' ).

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'ORGEH' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'PLANS' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

      WHEN  'STELL' .

        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).
*      WHEN  'ZZ_BJ' .
*        LS_COLUMN-R_COLUMN->SET_VISIBLE( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).

    ENDCASE.

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