点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好!
使用 Paul Hardy 的很棒的博客,我设法创建了具有所有功能的CL_SALV_TABLE(自定义和非自定义) 我需要使用 Naimesh Patel 的提示。
现在出现了一个新的业务需求:单击一个新的功能按钮(已添加并实现!),我应该调用一个 second alv 已在其类中通过所有功能以及热点和用户进行管理 命令。
我天真地尝试仅创建新对象并调用该方法以显示alv,但是我没有刷新屏幕,显示的alv始终是"旧的"。
这里有一些代码片段可以更好地解释:
- 第1类-方法SHOW_ALV
METHOD show_alv。 通话功能'SALV_CSQT_CREATE_CONTAINER' 出口 r_content_manager =我 title ='每个interfaccia文件的Tabella guida'。 ENDMETHOD。
仍然是第1类,实现if_salv_csqt_content_manager〜fill_container_content接口以创建和显示ALV
方法if_salv_csqt_content_manager〜fill_container_content。 alv = create_alv(r_container)。 set_alv_fcat(更改c_alv = alv)。 set_alv_functions(更改c_alv = alv)。 alv-> get_selections()-> set_selection_mode(if_salv_c_selection_mode => row_column)。 为alv-> get_event()设置处理程序on_user_command。 SET HANDLER on_link_click FOR alv-> get_event()。 alv-> display()。 终结法。
始终为第1类,用户命令(注意," transcode"定义为类型ref class2)
出现" TRASCODE"时。 创建对象代码转换EXPORTING i_setup = setup_data。 检查转码不是初始化的。 transcode-> update_from_config(return_config_table_extended())。 转码-> show_alv()。 当别人。 结束。 ENDMETHOD。
在类2中,SHOW_ALV和接口if_salv_csqt_content_manager〜fill_container_content的实现方式相似。
有什么建议吗?
谢谢!
Simone
如果在同一个容器中显示第二个ALV,但没有调用第一个容器的FREE方法(也请同时清除第一个ALV实例以避免进一步的问题),则将出现 2个ALV位于同一容器中,在这种情况下,始终显示第一个,容器中的其他控件保持不可见。
感谢 Sandra Rossi ,也许我还不够清楚:
我在第一个ALV用户命令中,所以我无法释放容器或当我释放容器时 关闭第二个Alv,我将得到一个转储:)
如果两个ALV网格位于同一容器中,则唯一的解决方案是释放第一个网格( 容器或将其隐藏(方法set_visible,但可能很难实现,因为SALV会隐藏ALV网格控件的实例)。
为此,我想唯一的可能是 通过控制器类管理屏幕,或按照传统方式创建屏幕。
一周热门 更多>