SAP ABAP ALV 的一些总结:Docking container 和 Dialogbox container

Docking container

停靠容器(CL_GUI_DOCKING_CONTAINER)不需要任何父容器,自定义屏幕上的自定义容器区域也不需要。 创建和显示后,它停靠在屏幕的四个位置之一:顶部、底部、左侧、右侧。 在大多数情况下,停靠容器用于显示一些导航菜单,但由于可以将其用作网格父级,因此开发人员也可以使用它来显示其中有限数量的列。

看个具体的例子:

SAP ABAP ALV 的一些总结:Docking container 和 Dialogbox container_第1张图片

为了能够在不创建任何 SCREEN 的情况下使用 docking 容器,我们只添加了一个虚拟参数并将创建容器的代码移至事件 AT SELECTION-SCREEN OUTPUT。 这样 Docking container 在程序运行后直接出现。 正如我们在下图 中看到的,网格显示在屏幕的左侧,而在右侧可以找到虚拟参数。

SAP ABAP ALV 的一些总结:Docking container 和 Dialogbox container_第2张图片

Dialgobox container

如果您需要使用网格显示弹出窗口并且不想花时间创建带有自定义控件的屏幕,对话框容器 (CL_GUI_DIALOGBOX_CONTAINER) 会很有用。 在这种情况下使用它非常方便,但它也有一个限制——在这里没有可用的 GUI 工具栏。 为了显示容器,我使用了与停靠容器相同的方法。一个限制是,运行这个程序后,你将无法关闭对话框容器,这很正常,因为我没有为它注册任何事件。

SAP ABAP ALV 的一些总结:Docking container 和 Dialogbox container_第3张图片

输出:
SAP ABAP ALV 的一些总结:Docking container 和 Dialogbox container_第4张图片

Hotspot 字段在 ALV 中应用非常广泛,这些字段具有超链接的行为和样式,这意味着它们正在触发 ALV 的单击事件,称为 HOTSPOT_CLICK。 它通常用于显示单击对象的详细信息,或移动到可以修改对象的事务。

可以想象,将 column 设置为 HOTSPOT 非常简单,只需将 ABAP_TRUE ('X') 值传递给字段目录,但这只会改变字段的样式(字段内容带下划线) 它会触发 HOTSPOT_CLICK 事件。

你可能感兴趣的:(SAP ABAP ALV 的一些总结:Docking container 和 Dialogbox container)