您的位置:首页 > 其它

上下alv 选抬头表信息 则给对应行明细并标上颜色并排序

2013-08-20 09:47 162 查看
首先得在抬头表结构和行明细表机构中定义表格颜色,color TYPE char4。 还要在DISPLAY中定义参数wa_above_layout-info_fname = 'COLOR'."颜色字段。

下面是在子例程中定义单击事件

DATA:ls_stable TYPE lvc_s_stbl.

LOOP AT it_ekpo INTO wa_ekpo WHERE color IS NOT INITIAL. 把指定的数据从内表中除去,这里是清除内表中的颜色数据

CLEAR wa_ekpo-color.

MODIFY it_ekpo FROM wa_ekpo INDEX sy-tabix.

ENDLOOP.

LOOP AT it_resb INTO wa_resb WHERE color IS NOT INITIAL.

CLEAR wa_resb-color.

MODIFY it_resb FROM wa_resb INDEX sy-tabix.

ENDLOOP.

READ TABLE it_ekpo INTO wa_ekpo INDEX p_row_no-row_id. 单击抬头表单元格,给该行上颜色

CHECK sy-subrc = 0.

wa_ekpo-color = 'C310'.

MODIFY it_ekpo FROM wa_ekpo INDEX sy-tabix.

LOOP AT it_resb INTO wa_resb WHERE ebeln = wa_ekpo-ebeln AND ebelp = wa_ekpo-ebelp.
根据抬头表和行明细表之间的关联关系,给与被上色的抬头表数据对应

wa_resb-color = 'C310'. 的行明细数据加上颜色。

MODIFY it_resb FROM wa_resb INDEX sy-tabix.

ENDLOOP.

CLEAR:wa_ekpo, 清除工作区的颜色数据

wa_resb.

SORT it_resb BY color DESCENDING. 排序,把行明细中有颜色的数据移到行明细表的最前面

ls_stable-row = 'X'. "固定行

ls_stable-col = 'X'. "固定列

"调用颜色的方法

CALL METHOD g_above_grid->refresh_table_display

EXPORTING

is_stable = ls_stable.

CALL METHOD g_below_grid->refresh_table_display

EXPORTING

is_stable = ls_stable.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: