abap alv 加了 表和字段属性后 原来字段 没有
3个回答
2017-05-04
展开全部
首先定义两种宏,一种是可编辑,一种是不可编辑
FIELDCAT-EDIT = ‘X’. “编辑ALV
其次在内表中加上个定义个结构
FIELD_STYLE TYPE LVC_T_STYL
然后写控制逻辑
DATA LS_STYLEROW TYPE LVC_S_STYL .
DATA LT_STYLETAB TYPE LVC_T_STYL .
LOOP AT T_ITAB.
CLEAR LT_STYLETAB[].
“此处写控制逻辑”
LS_STYLEROW-FIELDNAME = ‘ZZ_XHRQ’.这个是要控制的字段名
LS_STYLEROW-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.这个方法是控制style是否可用,与之对应的有个 MC_STYLE_ENABLED,根据不同的逻辑替换
INSERT LS_STYLEROW INTO TABLE LT_STYLETAB.
T_ITAB-FIELD_STYLE[] = LT_STYLETAB[].
MODIFY T_ITAB.
ENDLOOP.
HOUT2 ZZ_XHRQ ‘销毁日期’ 8 CHAR . 根据不同的逻辑用不同的宏
最后在定义alv属性的时候加上 PS_LAYOUT-STYLEFNAME = ‘FIELD_STYLE’. 这个名字是前面在内表中定义的结构名字
想让修改的字段保存到内表则需要用edt_cll_cb退出可编辑单元格时回调”。
DATA: I_GRID_SETTINGS TYPE LVC_S_GLAY.
I_GRID_SETTINGS-EDT_CLL_CB = ‘X’.
在那个FUCTION中加一行
I_GRID_SETTINGS = I_GRID_SETTINGS
FIELDCAT-EDIT = ‘X’. “编辑ALV
其次在内表中加上个定义个结构
FIELD_STYLE TYPE LVC_T_STYL
然后写控制逻辑
DATA LS_STYLEROW TYPE LVC_S_STYL .
DATA LT_STYLETAB TYPE LVC_T_STYL .
LOOP AT T_ITAB.
CLEAR LT_STYLETAB[].
“此处写控制逻辑”
LS_STYLEROW-FIELDNAME = ‘ZZ_XHRQ’.这个是要控制的字段名
LS_STYLEROW-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.这个方法是控制style是否可用,与之对应的有个 MC_STYLE_ENABLED,根据不同的逻辑替换
INSERT LS_STYLEROW INTO TABLE LT_STYLETAB.
T_ITAB-FIELD_STYLE[] = LT_STYLETAB[].
MODIFY T_ITAB.
ENDLOOP.
HOUT2 ZZ_XHRQ ‘销毁日期’ 8 CHAR . 根据不同的逻辑用不同的宏
最后在定义alv属性的时候加上 PS_LAYOUT-STYLEFNAME = ‘FIELD_STYLE’. 这个名字是前面在内表中定义的结构名字
想让修改的字段保存到内表则需要用edt_cll_cb退出可编辑单元格时回调”。
DATA: I_GRID_SETTINGS TYPE LVC_S_GLAY.
I_GRID_SETTINGS-EDT_CLL_CB = ‘X’.
在那个FUCTION中加一行
I_GRID_SETTINGS = I_GRID_SETTINGS
展开全部
第一步,你可以使用ALV的属性,定位到选中的行的行号;第二步,通过行号和展示ALV的内表,可以读取这一行的数据(或者指定字段的),然后不就可以传入你的打印程序,实现打印选中行的功能了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个和布局没有关系,和设置显示字段的属性有关,你发现没有,你总账科目排序之后没有合并同类项,你检查一下这个总账科目这个字段是不是设了可编辑,如果字段设了可编辑,就会出现这种情况,如果没有,可以检验一下其他属性,比如是否设置排序是默认的,是否设了热点等,或者你把这字段输入的代码贴出来看看。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询