点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我有一个带有两个ALV的程序,在第一个ALV中,当用户单击一个记录时,该程序在下面显示第二个ALV,但是当用户在第一个ALV的任何其他行上单击时,第二个ALV必须 显示新信息,也就是说,应使用新信息更新ALV2。
有人可以帮助我吗?
这是我的代码:
METHOD on_double_click。 cl_class-> get_data( 出口 i_vbeln = t_rang [] 输入 e_data = t_alv2 )。 创建对象lo_alv_custom 出口 container_name ='CONT2'。 创建对象lo_alv_splitter 出口 父母= lo_alv_custom 行= 2 列= 1。 lo_alv_splitter-> set_row_height(id = 1 height = 100)。 go_alv_cont2 = lo_alv_splitter-> get_container(row = 1 column = 1)。 cl_salv_table => factory(导出r_container = go_alv_cont2 导入r_salv_table = go_alv_grid2 更改t_table = t_alv2)。 cl_report => settings_alv2()。 尝试。 go_alv_grid2-> set_data( 改变 t_table = t_alv2 [] )。 捕获cx_salv_no_new_data_allowed。 " ENDTRY。 go_alv_grid2-> get_columns()。 go_alv_grid2-> refresh()。 go_alv_grid2-> display()。 终结法。
您好路易斯·罗伯托·佛朗哥,
您可以尝试以下方法: p>
最诚挚的问候
易卜拉欣
您好,Luis Roberto Franco,
您可以尝试下面给出的alv容器示例代码。
数据:alv_container类型参考cl_gui_docking_container。
数据:alv_grid类型参考cl_gui_alv_grid。
数据:布局类型lvc_s_layo。
数据:fieldcat TYPE lvc_t_fcat。
*构建字段目录.....
layout-zebra ='X'。
layout-CWIDTH_OPT ='X'。
layout-edit_mode ='X'。
检查alv_container是否为INITIAL。
创建对象alv_container
出口
repid = repid
dynnr = sy-dynnr
侧面= alv_容器-> dock_at_right
扩展名=4500。
创建对象alv_grid
出口
i_parent = alv_container。
* ALV特定。 数据选择。
*填充字段目录
执行get_fieldcatalog。
调用方法alv_grid-> set_table_for_first_display
出口
is_layout =布局
is_variant =变体
i_save ='U'
i_structure_name ='IT_ALV'
改变
it_outtab = it_alv []
it_fieldcatalog = fieldcat []。
* endif。
因此,如果您在第一个ALV中选择任何记录,则会触发第二个ALV,该记录可向右移动...。
您好我 解决了我的问题,现在当我运行程序时,我填充了两个ALV,第一个填充数据,第二个填充数据,即为空,然后双击第一个ALV y获取填充第二个ALV的数据 我不希望它在程序运行时显示我的第二个ALV为空,在更改之前,我确实显示了我的第一个ALV和数据,而第二个ALV则一直隐藏,直到用户单击某些记录为止
您可以使用以下代码段作为参考:
报告ztest_alv1。
一周热门 更多>