cl_gui_alv_tree_simple响应双击&n…

cl_gui_alv_tree_simple响应双击 <wbr>不能响应整行任意位置双击

使用cl_gui_alv_tree_simple 实现双击后,发现只有双击前面的文本图标时才响应,点这行其他位置没效果

经朋友MACIO提示,已经解决

我修改了三个地方
 
一、 lvc_s_fcat 结构中的热点(参数 gb_fieldcat)
CALL  METHOD tree_grid ->set_table_for_first_display
            EXPORTING
                it_list_commentary  ls_list_comm
                i_structure_name      'Z_KEMU_INFOR'
            CHANGING
                it_sort                        gb_sortfld
                it_fieldcatalog        gb_fieldcat
                it_outtab                    g_kemu_show[] .

在控制字段输出时,不能设置热点  ls_fldcat-hotspot ,
如果 = 空,则整行起作用,
如果 = X,则单击图标或者第一个字段会起作用。
  LOOP AT gb_fieldcat INTO ls_fldcat.
   ls_fldcat-hotspot 'X'.            "必须空
    CASE ls_fldcat-fieldname.
      WHEN 'TSLVT'
           OR 'HKONT_DESC'
           OR 'BJH_HKONT_PREV_T'.
        ls_fldcat-outputlen 25.
      WHEN OTHERS.
        ls_fldcat-no_out 'X'.
    ENDCASE.
endloop.
二、注册的时候注册 eventid_item_double_click 
  DATA: lt_events TYPE cntl_simple_events,
        l_event TYPE cntl_simple_event.

    CLEAR l_event .
    l_event -eventid  cl_gui_list_tree =>eventid_item_double_click .
    l_event -appl_event  'X' .
    APPEND l_event  TO lt_events .

三、编写响应的操作
CLASS cl_tree_event_receiver  DEFINITION .

    PUBLIC  SECTION .
  double click item
        METHODS handle_double_click
            FOR  EVENT node_double_click  OF cl_gui_alv_tree_simple
            IMPORTING index_outtab
                                grouplevel .
        METHODS item_double_click
            FOR  EVENT item_double_click  OF cl_gui_alv_tree_simple
            IMPORTING
                fieldname
                index_outtab
                grouplevel .
    PRIVATE  SECTION .

ENDCLASS .                     "CL_TREE_EVENT_RECEIVER DEFINITION

然后去实现

      CALL  METHOD tree_grid ->set_table_for_first_display
            EXPORTING
                it_list_commentary  ls_list_comm
                i_structure_name      '_KEMU_INFOR'
            CHANGING
                it_sort                        gb_sortfld
                it_fieldcatalog        gb_fieldcat
                it_outtab                    g_kemu_show[] .
*
        CALL  METHOD tree_grid ->expand_tree
            EXPORTING
                i_level  1 .
*
** register events
        PERFORM register_events .
** set handler for tree1
        SET  HANDLER tree_event_receiver ->handle_double_click  FOR tree_grid .
        SET  HANDLER tree_event_receiver ->item_double_click  FOR tree_grid .
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值