ALV 插入可编辑的空行

在FCAT 中 设置需要的字段为 可以编辑,然后LOOP 显示 ALV 的内表,将不需要的行设置为 不可编辑

1. 在ALV用的内表中添加控制 style 的 内表

TYPES:BEGIN OF TY_TABALV,
              。
              。
              。
            F_STYLE TYPE LVC_T_STYL,
          END OF TY_TABALV.

2.FCAT 中 设置字段可编辑

  DEFINE  FCAT.
    CLEAR : IW_FCAT.
    IW_FCAT-FIELDNAME = &1.
    IW_FCAT-SELTEXT     = &2.
    IW_FCAT-SCRTEXT_L = &2.
    IW_FCAT-NO_ZERO   = 'X'.
    IW_FCAT-EDIT          = 'X'.        "可以编辑
    APPEND IW_FCAT TO IT_FCAT.
  END-OF-DEFINITION.

3.LAYOUT 制定  style 内表

IW_LAYOUT-STYLEFNAME = 'F_STYLE'.

4.循环内表,将不需要的字段变灰


DATA STYLELIN TYPE LVC_S_STYL.

LOOP AT IT_TABALV INTO IW_TABALV. IF IW_TABALV-LIFNR IS NOT INITIAL. CLEAR :IW_TABALV-F_STYLE[]. CLEAR STYLELIN. STYLELIN-FIELDNAME = 'LIFNR'. " 需要编辑的列名 STYLELIN-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED. " 设置为不可编辑状态 APPEND STYLELIN TO IW_TABALV-F_STYLE. CLEAR STYLELIN. STYLELIN-FIELDNAME = 'NAME1'. STYLELIN-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED. APPEND STYLELIN TO IW_TABALV-F_STYLE. MODIFY IT_TABALV FROM IW_TABALV . ENDIF. ENDLOOP.


最后的效果

 

----------------凑字数-------------------------

励志美文、《抉择》
  
人的一生常处于抉择之中,如:念哪一间大学?选哪一种职业?娶哪一种女子?……等等伤脑筋的事情。一个人抉择力的有无,可以显示其人格成熟与否。
  
倒是哪些胸无主见的人,不受抉择之苦。因为逢到需要决定的时候,他总是求询别人说:"嘿,你看怎么做?"
  
大凡能够成大功业的人,都是抉择力甚强的人。他知道事之成败,全在乎已没有人可以代劳,更没有人能代你决定。
  
在抉择的哪一刻,成败实已露出端倪。
posted @ 2016-08-22 16:03  明大叔  阅读(4125)  评论(0编辑  收藏  举报