强制使用默认的 ALV 布局

Force a default ALV layout

我有一个 ALV 网格,我需要默认显示根据输入和按钮在四个不同视图之间切换 selected。输入之间的区别是特定于我的业务的某种数据类型。有两个不同的按钮,一个显示所有列,一个只显示部分列。

我知道可以在 ALV 页面本身设置默认显示。我已经这样做了,但这将保存我的一种数据类型的显示,然后当输入另一种数据类型时,ALV 网格仍然具有另一种布局。

有没有硬编码默认使用的方法?我正在准备表演中的 ALV 网格列,我希望能够 select 表演中的默认显示,但我不确定如何去做,或者是否有可能。

谢谢,

使用布局键信息(CL_SALV_TABLESALV_S_LAYOUT_KEY,通过布局对象获得 - CL_GUI_ALV_GRID 存在类似的东西,搜索 DISVARIANT)来指定不同的根据所选按钮进行处理。这将允许用户为任一列表类型保存不同的布局变体并指定不同的默认布局。