使用ALV-CL_SALV类获取选定的行

2020-08-23 18:09发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

请,需要一些帮助。

在我的ALV报告中-使用CL_SALV类,如何处理多行?

例如:我设置为显示"全选按钮"。

需要选择几行,在这种情况下,已经选择了2行,并使用两行执行了呼叫事务。 但是还有其他事情要做,因为ALV报表中的所有行都执行了呼叫交易。

刚刚发现以下内容:

layout-box_fname ="字段名称"。

layout-sel_mode ='A'。

但是要在CL_GUI_ALV_GRID中使用,我现在不想更改它,因为ALV报告即将完成。

CL_SALV类中的CL_GUI_ALV_GRID的" BOX_FNAME"和" SEL_MODE"分别对应什么?


感谢和问候。

">使用CL_SAV classes.JPG处理多条ALV线路 (28.0 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

请,需要一些帮助。

在我的ALV报告中-使用CL_SALV类,如何处理多行?

例如:我设置为显示"全选按钮"。

需要选择几行,在这种情况下,已经选择了2行,并使用两行执行了呼叫事务。 但是还有其他事情要做,因为ALV报表中的所有行都执行了呼叫交易。

刚刚发现以下内容:

layout-box_fname ="字段名称"。

layout-sel_mode ='A'。

但是要在CL_GUI_ALV_GRID中使用,我现在不想更改它,因为ALV报告即将完成。

CL_SALV类中的CL_GUI_ALV_GRID的" BOX_FNAME"和" SEL_MODE"分别对应什么?


感谢和问候。

">使用CL_SAV classes.JPG处理多条ALV线路 (28.0 kB)
付费偷看设置
发送
3条回答
绿领巾童鞋
1楼 · 2020-08-23 18:45.采纳回答

嗨,布鲁诺,

在处理事件的方法中,需要使用cl_salv_selections来查看选择了哪些行。 那么您可以通过读取内部表以及所选内容中的索引来仅对这些行执行操作。 像这样的东西:

数据:lo_selections类型ref到cl_salv_selections。

数据lt_rows类型salv_t_row。

数据ls_row类型1。

lo_selections = lo_alv-> get_selections()。

lt_rows = lo_selections-> get_selected_rows()。

在lt_rows循环到ls_row。

读取表lt_alv_table_data索引ls_row

*执行操作

endloop。

您还可以查看程序SALV_TEST_TABLE_SELECTIONS

注意事项

Custodio

小c菟菟
2楼-- · 2020-08-23 18:53

嗨,

Custodio,感谢您的答复。

工作正常,正是我所需要的。

数据:lt_rows类型salv_t_row,

ls_rows TYPE i。

lt_rows = o_selections-> get_selected_rows()。

将lt_rows循环到ls_rows。

读取表it_​​outtab分配索引ls_rows。


非常感谢。

当学会了学习
3楼-- · 2020-08-23 18:57

对于将来的访问者来说,问题的另一部分是:" CL_SALV类中CL_GUI_ALV_GRID的'BOX_FNAME'对应什么?

(相当于在行的左侧添加一个选择列,就像在每行的前面添加一个选择按钮一样)

答案:SALV并未启用此功能;但是行可以 仍然可以通过单击其任意单元格来选择

NB:默认选择模式为NONE(实际上就像是SINGLE-仅选择一行(!?)),并且可以更改为其他模式,例如多行 通过调用:

 lo_selections-> SET_SELECTION_MODE(IF_SALV_C_SELECTION_MODE => MULTIPLE)。

一周热门 更多>