Abap 如何在ALV网格中选择整行?
我需要使用Abap 如何在ALV网格中选择整行?,abap,alv,Abap,Alv,我需要使用cl\u gui\u ALV\u grid返回到代码中ALV中的特定行。我使用通过\u id设置当前\u单元格\u,它可以工作,但只选择了一个单元格。如何以编程方式选择整行 谢谢 完整代码: DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid. DATA gt_t005t TYPE TABLE OF t005t. PARAMETERS dummy. AT SELECTION-SCREEN OUTPUT. IF gr_alvgrid IS NO
cl\u gui\u ALV\u grid
返回到代码中ALV中的特定行。我使用通过\u id设置当前\u单元格\u,它可以工作,但只选择了一个单元格。如何以编程方式选择整行
谢谢
完整代码:
DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA gt_t005t TYPE TABLE OF t005t.
PARAMETERS dummy.
AT SELECTION-SCREEN OUTPUT.
IF gr_alvgrid IS NOT BOUND.
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = cl_gui_container=>screen0.
SELECT * FROM t005t INTO TABLE gt_t005t WHERE spras = 'E'.
gr_alvgrid->set_table_for_first_display(
EXPORTING i_structure_name = 'T005T'
is_layout = VALUE #( sel_mode = 'D' )
CHANGING it_outtab = gt_t005t ).
ENDIF.
DATA sroid TYPE lvc_s_roid.
DATA irow TYPE i VALUE 2.
SROID-ROW_ID = iRow.
CALL METHOD gr_alvgrid->set_current_cell_via_id
EXPORTING
IS_ROW_NO = SROID.
DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA gt_t005t TYPE TABLE OF t005t.
PARAMETERS dummy.
AT SELECTION-SCREEN OUTPUT.
IF gr_alvgrid IS NOT BOUND.
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = cl_gui_container=>screen0.
SELECT * FROM t005t INTO TABLE gt_t005t WHERE spras = 'E'.
gr_alvgrid->set_table_for_first_display(
EXPORTING i_structure_name = 'T005T'
is_layout = VALUE #( sel_mode = 'D' )
CHANGING it_outtab = gt_t005t ).
ENDIF.
gr_alvgrid->set_selected_rows( it_row_no = VALUE lvc_t_roid( ( row_id = 2 ) ) ).
使用方法设置所选行
以获得此结果:
完整代码:
DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA gt_t005t TYPE TABLE OF t005t.
PARAMETERS dummy.
AT SELECTION-SCREEN OUTPUT.
IF gr_alvgrid IS NOT BOUND.
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = cl_gui_container=>screen0.
SELECT * FROM t005t INTO TABLE gt_t005t WHERE spras = 'E'.
gr_alvgrid->set_table_for_first_display(
EXPORTING i_structure_name = 'T005T'
is_layout = VALUE #( sel_mode = 'D' )
CHANGING it_outtab = gt_t005t ).
ENDIF.
DATA sroid TYPE lvc_s_roid.
DATA irow TYPE i VALUE 2.
SROID-ROW_ID = iRow.
CALL METHOD gr_alvgrid->set_current_cell_via_id
EXPORTING
IS_ROW_NO = SROID.
DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA gt_t005t TYPE TABLE OF t005t.
PARAMETERS dummy.
AT SELECTION-SCREEN OUTPUT.
IF gr_alvgrid IS NOT BOUND.
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = cl_gui_container=>screen0.
SELECT * FROM t005t INTO TABLE gt_t005t WHERE spras = 'E'.
gr_alvgrid->set_table_for_first_display(
EXPORTING i_structure_name = 'T005T'
is_layout = VALUE #( sel_mode = 'D' )
CHANGING it_outtab = gt_t005t ).
ENDIF.
gr_alvgrid->set_selected_rows( it_row_no = VALUE lvc_t_roid( ( row_id = 2 ) ) ).
请发一封信。让我向你求婚。您能验证一下吗?您需要使用方法SET\u SELECTED\u ROWS,或者您希望选中复选框?