• ABAP Control Framework(6): Calendar


    6.Calendar

              使用cl_gui_calendar类生成不同样式的日期选择器。

    示例:

    CLASS c5 DEFINITION.
      PUBLIC SECTION.
        DATA:lo_splitter_container TYPE REF TO cl_gui_splitter_container.
        DATA:lo_calendar1 TYPE REF TO cl_gui_calendar.
        DATA:lo_calendar2 TYPE REF TO cl_gui_calendar.
        DATA:lo_calendar3 TYPE REF TO cl_gui_calendar.
        DATA:lo_calendar4 TYPE REF TO cl_gui_calendar.
        DATA:lo_calendar5 TYPE REF TO cl_gui_calendar.
        DATA:lo_calendar6 TYPE REF TO cl_gui_calendar.
        METHODS:m_init_container.
        METHODS:m_init_calendar.
    ENDCLASS.
    CLASS c5 IMPLEMENTATION.
      METHOD:m_init_container.
        "生成一个6行1列的容器
        CREATE OBJECT lo_splitter_container
          EXPORTING
            parent = cl_gui_splitter_container=>default_screen
            link_dynnr = '100'
            link_repid = sy-repid
            height = 500
            "行,列格子
            rows = 3
            columns = 2.
      ENDMETHOD.
      METHOD:m_init_calendar.
        DATA:lv_view_style TYPE I.
        DATA:lv_sel_style TYPE I.
        DATA:lo_container TYPE REF TO cl_gui_container.
        "初始化calendar
        "日期时间选择样式
        lv_view_style = cnca_style_dtpicker.
        "获取容器
        lo_container =
        lo_splitter_container->get_container(
          row = 1 column = 1
         ).
        CREATE OBJECT lo_calendar1
          EXPORTING
            parent = lo_container
            view_style = lv_view_style.
    
        "弹出日期选择
        lv_view_style = cnca_style_popup_navigator.
        lo_container =
        lo_splitter_container->get_container(
          row = 1 column = 2
         ).
        CREATE OBJECT lo_calendar2
          EXPORTING
            parent = lo_container
            view_style = lv_view_style.
    
        "竖直日期选择导航
        lv_view_style = cnca_style_v_navigator.
        lo_container =
        lo_splitter_container->get_container(
          row = 2 column = 1
         ).
        CREATE OBJECT lo_calendar3
          EXPORTING
            parent = lo_container
            view_style = lv_view_style.
    
        "水平日期选择导航
        lv_view_style = cnca_style_h_navigator.
        lv_sel_style = cnca_sel_day +
                       cnca_sel_week +
                       cnca_sel_month +
                       cnca_sel_interval.
        lo_container =
        lo_splitter_container->get_container(
          row = 2 column = 2
         ).
        CREATE OBJECT lo_calendar4
          EXPORTING
            parent = lo_container
            view_style = lv_view_style
            selection_style = lv_sel_style.
    
        "竖直日期选择导航,及日期选择
        lv_view_style = cnca_style_v_navigator +
                        cnca_style_dtpicker.
        lo_container =
        lo_splitter_container->get_container(
          row = 3 column = 1
         ).
        CREATE OBJECT lo_calendar5
          EXPORTING
            parent = lo_container
            view_style = lv_view_style.
    
        "popup日期选择导航,及日期选择
        lv_view_style = cnca_style_popup_navigator +
                        cnca_style_dtpicker.
        lo_container =
        lo_splitter_container->get_container(
          row = 3 column = 2
         ).
        CREATE OBJECT lo_calendar6
          EXPORTING
            parent = lo_container
            view_style = lv_view_style
            dtpicker_format = 'dddd mmm dd.MM.yyy'.
        "dtpicker_format
        "'d' :One- or two-character date
        "'dd' :Two-character date
        "'ddd' :Three-character abbreviation of weekday
        "'dddd' :Name of weekday
        "'MM' :Two-digit month number
        "'MMM':Three-character abbreviation of month name
        "'MMMM' :Full month name
        "'y' :One-digit year display (for example, 9 for 1999)
        "'yy' :Two-digit year display
        "'yyy' :Full year display
        "focus_date:初始日期设置
        "stand_alone:是否触发event:info_request,'X'不触发
      ENDMETHOD.
    ENDCLASS.
  • 相关阅读:
    浏览器之本地缓存存储 localStorage 和 sessionStorage的区别以及用法
    webpack 命令 Module build failed (from ./node_modules/babel-loader/lib/index.js) 错误问题解决方案
    webpack 4 x使用详细
    JS动态判断设备类型为PC或者移动端,然后根据设备加载相应的代码
    自制弹出框所踩的坑
    ant深入浅出(一)ant+xdoclet 生成hibernate配置文件以及实体映射文件
    收费系统
    自学考试 (二)数据结构图
    ORM框架Hibernate (四)MyEclipse Hibernate Tool 逆向生成实体类
    自学考试 (一)如何利用MindManager工具复习
  • 原文地址:https://www.cnblogs.com/tangToms/p/14744685.html
Copyright © 2020-2023  润新知