2020-08-13 18:08发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,有人可以在同一ALV报告中... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,有人可以在同一ALV报告中为多个热点字段提供一个代码示例吗? 这会很简单,但会有些卡住,非常感谢
这就是使用简单ALV(CL_SALV_TABLE)的方式。
使用ALV列表查看器(CL_GUI_ALV_GRID),它可以正常工作。 您可以订阅事件HOTSPOT_CLICK,该事件具有行和列的参数(E_ROW_ID/ES_ROW_NO,E_COLUMN_ID)。 处理事件时,这些参数使您知道按下了哪个单元格。
CL_SALV_TABLE的概述:
详细信息:
1。 为类" CL_SALV_EVENTS_TABLE"的事件" LINK_CLICK"声明一个方法(例如on_link_click)
CLASS lcl_application DEFINITION FINAL。 公共部分。 CLASS_METHODS on_link_click事件链接_click of cl_salv_events_table IMPORTING行列。 " ... ENDCLASS。
2。 订阅ALV对象的事件 3。 将列定义为ALV对象的HOTSPOTS("超链接")
DATA my_alv类型引用至cl_salv_table。 数据lr_column类型参考cl_salv_column_table。 数据lr_columns类型参考cl_salv_columns_table。 数据lr_events类型参考cl_salv_events_table。 设置ALV cl_salv_table =>工厂(正在导入r_salv_table = my_alv 更改t_table = my_table。 " ... " 2订阅ALV对象的事件 lr_events = my_alv-> get_event()。 设置处理程序lcl_application => on_link_click FOR lr_events。 " ... " 3.将列定义为ALV对象的HOTSPOTS("超链接") lr_columns = my_alv-> get_columns()。 lr_column?= lr_columns-> get_column('MYCOL1')。 lr_column-> set_cell_type(if_salv_c_cell_type => hotspot)。 lr_column?= lr_columns-> get_column('MYCOL2')。 lr_column-> set_cell_type(if_salv_c_cell_type => hotspot)。 " ... "显示ALV my_alv-> display()。
4。 当事件被调用并传递给已声明的方法(on_link_click)时,参数ROW和COLUMN将使您知道已单击了哪个单元格,而使用ROW则将知道在这种情况下该怎么做。
CLASS lcl_application " ... 方法on_link_click。 行 栏 READ TABLE my_table ASSIGNING FIELD-SYMBOL()INDEX行。 将结构的ASSIGN COMPONENT列分配到FIELD-SYMBOL()。 CASE栏。 当" MYCOL1"时。 " ... 当" MYCOL2"时。 " ... 结束。 终结法。 ENDCLASS。
(我省略了对异常的处理,以使必要的编码更加明显。)
最多设置5个标签!
这就是使用简单ALV(CL_SALV_TABLE)的方式。
使用ALV列表查看器(CL_GUI_ALV_GRID),它可以正常工作。 您可以订阅事件HOTSPOT_CLICK,该事件具有行和列的参数(E_ROW_ID/ES_ROW_NO,E_COLUMN_ID)。 处理事件时,这些参数使您知道按下了哪个单元格。
CL_SALV_TABLE的概述:
详细信息:
1。 为类" CL_SALV_EVENTS_TABLE"的事件" LINK_CLICK"声明一个方法(例如on_link_click)
2。 订阅ALV对象的事件
3。 将列定义为ALV对象的HOTSPOTS("超链接")
4。 当事件被调用并传递给已声明的方法(on_link_click)时,参数ROW和COLUMN将使您知道已单击了哪个单元格,而使用ROW则将知道在这种情况下该怎么做。
(我省略了对异常的处理,以使必要的编码更加明显。)
一周热门 更多>