2017-08-14 131 views
2

This is the pictureSAP ABAP动态地将alv行追加到其他表中?

如何获得行事件的选择?

if (alv_table_1_row) is selected or if button is pressed 
append to alv_table_2 

有人可以帮我吗?我想要在点击行后动态地添加到alv_table_2

+0

@Brian Tompsett - 汤莱恩感谢堆栈不允许我张贴图片 – User2333

+0

你到目前为止尝试过什么? – vwegert

+0

@vwegert我已经尝试使用ok_code追加行,但系统给了我dump.I不知道如何得到选择事件 – User2333

回答

1

创建一个像下面这样的本地类来处理ALV网格的double-click行事件。

class lcl_alv_event_receiver definition. 

    public section. 

    methods: handle_double_click. 
    for event double_click of cl_gui_alv_grid 
     importing e_row e_column. 

endclass. 

class lcl_alv_event_receiver implementation. 

    method handle_double_click. 
     " Your event handler code here like below 
     " read table alv_table_1 index e_row-index into ls_row. 
     " append ls_row to alv_table_2. 
     " alv_table_2_grid->refresh_table_display(). 
    endmethod. 

endclass. 

在您的左侧ALV初始化后,在您的代码的某处注册您的事件处理函数。

data: lo_alv_event_receiver type ref to lcl_event_receiver. 
    create object lo_alv_event_receiver. 

    set handler lo_alv_event_receiver->handle_double_click for alv_table_1_grid. 
+0

你是什么意思“之前或之后的声明”? g – Allen

+0

之前首先,初始化你的ALV网格,然后注册事件 – Allen

+0

好的非常感谢你 – User2333