如何用新数据刷新ALV cl_salv_table

2020-09-05 10:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我有一个带有两个ALV的...

         点击此处--->   EasySAP.com群内免费提供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()。
   终结法。

 
4条回答
亦是此间程序员
2020-09-05 10:35

您好我 解决了我的问题,现在当我运行程序时,我填充了两个ALV,第一个填充数据,第二个填充数据,即为空,然后双击第一个ALV y获取填充第二个ALV的数据 我不希望它在程序运行时显示我的第二个ALV为空,在更改之前,我确实显示了我的第一个ALV和数据,而第二个ALV则一直隐藏,直到用户单击某些记录为止

 METHOD on_double_click。
 GET_DATA()。
 * Actualiza alv项目
           lr_columns = go_alv_grid2-> get_columns()。
           lr_columns-> set_optimize(abap_true)。
           go_alv_grid2->刷新(refresh_mode = if_salv_c_refresh => full)。
   ENDMETHOD。

一周热门 更多>