動的セルエディタかどうかを設定し、[シリーズ] ABAPのSAPのABAPのOOALV

いいえ公共ん: SAP技術
著者: Matinal
オリジナルソース: http://www.cnblogs.com/SAPmatinal/
 

 

序文

私たちは、私の公共の数に焦点を当てることができ、より良いレイアウトの数の国民は、より快適に読みます。

ボディパーツ

OOALVのためのいくつかの列は、顧客が入力することができますが、ユーザの入力、または特定の条件がALV表示する前に満たされているかどうかを判断する際に、満足している場合、それらは別々の行または少数編集することはできません。このフィールドのラインや編集、エフェクトを設定しますあなたは、このような場合: 

実装は、手順 
テーブルまたはに示すテーブルタイプ内1. [追加]フィールドを 
CELLTAB TYPE LVC_T_STYL。 

 

例えば:

TYPESBEGIN  OF T_SC、
  BUKRS    LIKE   ANLZ- BUKRS、
  ANLN1    LIKE   、ANLA-ANLN1          模具编号 
  ANLN2    LIKE   ANLA- ANLN2、
  CELLTAB TYPE   LVC_T_STYL、
 END  OF T_SCを。

2.レイアウト設定のコードを追加します 
XXX_LAYOUT-STYLEFNAME = 'CELLTAB'を。

3. [プロパティの編集制御コードを達成

FORM FRM_INIT_STYLE_TAB。
  DATA:LT_SFLIGHTの   TYPEの TABLE  OF SFLIGHT WITH  HEADER  LINE 
        LT_CELLTAB   TYPE LVC_T_STYL、
        LS_CELLTAB   TYPE LVC_S_STYL、
        L_INDEX      TYPE I.
   LOOP  AT IT_TAB INTO WA_TAB。
    CLEAR:WA_TAB-CELLTAB。  不为空会报错
    のIF WA_TAB-CELLTABはIS  INITIAL 
      L_INDEX = SY- TABIX。
       REFRESHLT_CELLTAB。
      LS_CELLTAB -FIELDNAME = ' ZCWCZD ' 

      IF WA_TAB-ZCWCZIは、IS  NOT  INITIAL  
          WA_TAB -ZCXCZIはIS  INITIAL 
        LS_CELLTAB -style = CL_GUI_ALV_GRID => MC_STYLE_DISABLED。
      ELSE 
        LS_CELLTAB -style = CL_GUI_ALV_GRID => MC_STYLE_ENABLED。
      ENDIF INSERT LS_CELLTAB INTO  TABLE LT_CELLTABを。

      INSERTの LINES  OF LT_CELLTAB のINTO  TABLEWA_TAB- CELLTAB。
      MODIFY IT_TABをFROM WA_TAB INDEX L_INDEX。
    ENDIF ENDLOOP ENDFORMFRM_INIT_STYLE_TAB

表示する必要が呼び出すコード4. 
のようなあなたは、セルを再編集する必要があり、それぞれの場所では、呼び出しか否かを判断します、:

MODULEの DISPLAY_FINANCIAL_DISPOSALのOUTPUT " 设置可编辑字段
  PERFORM FRM_INIT_STYLE_TABを。
   " 展示AVL 
  PERFORM DISPLAY_FINANCIAL_DISPOSALを。
ENDMODULEDISPLAY_FINANCIAL_DISPOSAL OUTPUT

変更するために使用されるイベントデータと実際の状況

おすすめ

転載: www.cnblogs.com/SAPmatinal/p/11184343.html