zoukankan      html  css  js  c++  java
  • ラジオボタンで選択項目を動的に変更

    概要


    選択されたラジオボタンによって各項目の入力可能?入力不可を動的に制御する方法を紹介したいと思う。

    サンプルコード:単一

    PARAMETERS r_bukrs RADIOBUTTON GROUP rg DEFAULT 'X' USER-COMMAND command.
    PARAMETERS r_vkorg RADIOBUTTON GROUP rg.
    PARAMETERS p_bukrs TYPE bukrs.
    PARAMETERS p_vkorg TYPE vkorg.
     
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        CASE screen-name.
          WHEN 'P_BUKRS'.
            IF r_bukrs = 'X'.
              screen-input = 1.
            ELSE.
              screen-input = 0.
            ENDIF.
          WHEN 'P_VKORG'.
            IF r_vkorg = 'X'.
              screen-input = 1.
            ELSE.
              screen-input = 0.
            ENDIF.
        ENDCASE.
        MODIFY SCREEN.
      ENDLOOP.

    説明


    今回は、r_bukrsを選択された場合、p_bukrsを入力可能にしp_vkorgを入力不可にする。
    また、逆にr_vkorgを選択された場合、p_bukrsを入力不可にしp_vkorgを入力可能にするというプログラムである。
    気をつけて頂きたいのがAT SELECTION-SCREEN OUTPUT.のイベントブロックが実行されるようにラジオボタンにUSER-COMMANDのオプションをつける事だ。
    SCREENは選択画面の情報をもっているので、ループしSCREEN-NAMEで処理対象の選択項目を判断する。
    その後、どちらのラジオボタンが選択されているかを確認し、SCREEN-INPUTに1(入力可能)か0(入力不可)の値を設定する。
    最後にMODIFYでSCREENの値を反映する。

    上記の例は一つ一つの項目を設定したが、複数の項目を同時に設定したい場合はグループを設定する事で判断が可能だ。

    サンプルコード:グループ

    PARAMETERS r_bukrs RADIOBUTTON GROUP rg DEFAULT 'X' USER-COMMAND command.
    PARAMETERS r_vkorg RADIOBUTTON GROUP rg.
     
    PARAMETERS p_bukrs TYPE bukrs MODIF ID BUK.
    PARAMETERS p_land1 TYPE LAND1 MODIF ID BUK.
     
    PARAMETERS p_vkorg TYPE vkorg MODIF ID VKO.
    PARAMETERS p_vtweg TYPE vtweg MODIF ID VKO.
     
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        CASE screen-group1.
          WHEN 'BUK'.
            IF r_bukrs = 'X'.
              screen-input = 1.
            ELSE.
              screen-input = 0.
            ENDIF.
          WHEN 'VKO'.
            IF r_vkorg = 'X'.
              screen-input = 1.
            ELSE.
              screen-input = 0.
            ENDIF.
        ENDCASE.
        MODIFY SCREEN.
      ENDLOOP.
    

      

    説明


    各選択項目にMODIF IDのオプションをつけると、SCREEN-GROUP1に値が設定される。
    その値を使用する事が各選択項目の名前を一つずつ確認する必要がなくなる。
    選択項目が多い場合にはプログラムソースを簡略化する事ができるのでお勧めだ。

    補足


    構造:screenは選択画面のさまざまな情報を保持しており、入力可能?入力不可だけではなく
    項目自体を表示?非表示(screen-invisible)にしたり、必須?任意(screen-required)を変更したりする事が可能だ。

      

  • 相关阅读:
    c语言中的增量与减量········不要太聪明
    存储器··············RAM,SRAM,EEPROM 等等
    对于 sizeof(char)的一些零碎······
    C语言中float,double等类型,在内存中的结构
    同步异步存储器
    Linux的帧缓冲设备(Framebuffer)简介
    嵌入式 c 中结构体经常碰到_I、 __O 、__IO是什么意思?
    新型的按键扫描程序
    数据结构
    jQuery(八)选择器与选择方法
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10494071.html
Copyright © 2011-2022 走看看