SALV增加勾选框

 DATA:
    lo_cols   TYPE REF TO cl_salv_columns,
    lo_events TYPE REF TO cl_salv_events_table,
    lo_column TYPE REF TO cl_salv_column_list,
    cxroot    TYPE REF  TO  cx_root.

  TRY.
      cl_salv_table=>factory(
      IMPORTING
      r_salv_table = go_salv   "导出ALV的容器对象
      CHANGING
      t_table = gt_likp ).  "内容表
    CATCH cx_root INTO cxroot.

  ENDTRY.

  lo_cols = go_salv->get_columns( ).
  lo_column ?= lo_cols->get_column( 'CBOX' ).
  lo_column->set_cell_type( if_salv_c_cell_type=>checkbox_hotspot ).
  lo_column->set_output_length( 10 ).

  lo_events = go_salv->get_event( ).
*   event handler
  SET HANDLER go_event->on_link_click FOR lo_events.

  "重新设置列名称
  go_salv->get_columns( )->get_column( 'CBOX' )->set_long_text( TEXT-023 )."

  IF go_salv IS BOUND."设置窗口大小与位置-
    go_salv->set_screen_popup(
    start_column = 30
    end_column = 100
    start_line = 5
    end_line = 20 ).
    go_salv->display( ).
  ENDIF.

单击事件


METHODS  on_link_click FOR EVENT link_click OF cl_salv_events_table
      IMPORTING row column.

FORM frm_on_link_click  USING    row.
  READ TABLE gt_likp ASSIGNING FIELD-SYMBOL(<fs_likp>) INDEX row.
  IF sy-subrc = 0.
    <fs_likp>-cbox =  COND #(  WHEN <fs_likp>-cbox IS INITIAL THEN 'X'
                               ELSE '' ).
  ENDIF.

  go_salv->refresh( ).
ENDFORM.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值