• LIST BOX 联动的实现


    有两种方式实现联动:
    1、 USER-COMMAND
    2、AT SELECTION-SCREEN ON VALUE-REQUEST FOR listbox名称

    例一:
    REPORT  zlm_listbox_02.

    *&---------------------------------------------------------------------*
    *&宏定义,填充下拉框
    *&---------------------------------------------------------------------*
    DEFINE fill_list.
      value-key   &1                        "个就是变量下拉框的值
      value-text  &2                        "这个是text
      append value to &3.
    END-OF-DEFINITION.

    *&---------------------------------------------------------------------*
    *&LIST-BOX 变量定义
    *&---------------------------------------------------------------------*
    TYPE-POOLSvrm                                               "存放combobox内容的type pool
    DATAname       TYPE vrm_id                                  list box的名称
          list_ctry  TYPE vrm_values                              list box的值
          list_city  TYPE vrm_values                              list box的值
          value      LIKE LINE OF list_ctry                       list box的结构
    *&---------------------------------------------------------------------*
    *&屏幕定义
    *&---------------------------------------------------------------------*
    PARAMETERSp_ctry TYPE char10 AS LISTBOX VISIBLE LENGTH 15 USER-COMMAND zctry.
    PARAMETERSp_city TYPE char10 AS LISTBOX VISIBLE LENGTH 15 USER-COMMAND zcity.


    *&---------------------------------------------------------------------*
    *&初始化
    *&---------------------------------------------------------------------*
    INITIALIZATION.
      PERFORM zform_fill_ctry.

    *&---------------------------------------------------------------------*
    *&根据所选国家,显示城市
    *&---------------------------------------------------------------------*
    AT SELECTION-SCREEN.
      CASE sy-ucomm.
        WHEN 'ZCTRY'.
          PERFORM zform_fill_city.
        WHEN 'ZCITY'.
          MESSAGE p_city TYPE 'I'.
        WHEN OTHERS.
      ENDCASE.


    *&---------------------------------------------------------------------*
    *&      Form  zform_fill_city
    *&---------------------------------------------------------------------*
          text
    *----------------------------------------------------------------------*
    FORM zform_fill_city.
      DATA:value LIKE LINE OF list_ctry                       list box的结构
      READ TABLE list_ctry INTO value  WITH KEY key p_ctry.

      REFRESH  list_city.

      IF value-key 'CH'.
        fill_list 'BJ' '北京' list_city.
        fill_list 'TJ' '天津' list_city.
      ENDIF.
      IF value-key 'EN'.
        fill_list 'LD' '伦敦' list_city.
      ENDIF.
      IF value-key 'US'.
        fill_list 'LSJ' '洛杉矶' list_city.
        fill_list 'HSD' '华盛顿' list_city.
      ENDIF.
      "调用函数显示listbox里面的值
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     'P_CITY'                                        PARAMETERS's Name
          values list_city.
    ENDFORM                   "zform_fill_city

    *&---------------------------------------------------------------------*
    *&      Form  zform_fill_ctry
    *&---------------------------------------------------------------------*
          text  填充国家
    *----------------------------------------------------------------------*
    FORM zform_fill_ctry.

      REFRESH  list_ctry.

      fill_list 'CH' '中国' list_ctry.
      fill_list 'EN' '英国' list_ctry.
      fill_list 'US' '美国' list_ctry.

      "调用函数显示listbox里面的值
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     'P_CTRY'                                       PARAMETERS's Name
          values list_ctry.
    ENDFORM                   "zform_fill_ctry


    例二:
    变动很小
     INITIALIZATION.
       PERFORM zform_fill_ctry.

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ctry.
      PERFORM zform_fill_city.

    或者
    AT SELECTION-SCREEN OUTPUT .
      PERFORM zform_fill_ctry.

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ctry.
      PERFORM zform_fill_city.

    或者直接

    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ctry.
      PERFORM zform_fill_ctry.
      PERFORM zform_fill_city.


    但是出现了个问题,
    就是在我变动国家后,城市框还显示上传选择的城市的key值
    LIST <wbr>BOX <wbr>联动的实现

    一直没解决,哪位知道怎样解决,请留言,谢谢
    http://blog.sina.com.cn/sapliumeng
  • 相关阅读:
    为什么Java中 wait 方法需要在 synchronized 的方法中调用?
    XML常用解析API有哪几种?
    Dubbo 和 Spring Cloud 的区别?
    Java 线程池中 submit() 和 execute()方法有什么区别?
    详细描述一下 Elasticsearch 搜索的过程?
    为表中得字段选择合适得数据类型 ?
    Json有什么作用?
    Ajax的乱码解决问题?
    eclipse安装配置记录
    srs部署/webrtc拉流
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802255.html
Copyright © 2020-2023  润新知