ALV Grid在用户进行更改后读取输出

问题描述 投票:-1回答:2

我有一个报告,通过ALV网格输出我的内部表的数据。输出本身由一些信息和每行的两个复选框组成。如有必要,用户可以检查这些框,现在我需要回读表格以了解检查了哪些框。之后将对不同的行进行不同的处理,具体取决于检查两个框中的哪一个。

我已经尝试了方法get_actual_view,我不知道如何使用正确的方法和get_selected_rows,它似乎得到用户选择的行的索引,但不是它的内容。

如何在用户选中复选框后再读取表格(并按下按钮继续,这将触发报告中的编码以读取数据,处理数据并将其写回网格)?

sap abap
2个回答
1
投票

您需要调用CHECK_CHANGED_DATA的方法CL_GUI_ALV_GRID将输入从ALV网格传输到内部表(它适用于ALV中的所有类型的输入字段,即不限于复选框)。


-1
投票

最好的方法是使用CL_GUI_ALV_GRID在ALV中显示输出。

对于ALV网格的变化,

您必须注册事件DATA_CHANGED,并在数据发生变化时帮助您编写代码。

对于选定的行,您必须在itab中创建复选框字段,以帮助您驱动选定的行。

如果要将屏幕更改传输到itab,则必须调用方法check_changed_data,以便在PAI事件中将更改从屏幕传输到itab。

对于某些情况,如果您想知道行内容的任何更改,则必须再创建一个长度为1的字段data_change字符类型。如果itab的内容发生更改,则可以在适当的事件中标记此字段。

问候,

عمرعبدالله免费会员资格

© www.soinside.com 2019 - 2024. All rights reserved.