日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

alv tree 总结

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 alv tree 总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 基礎數據聲明

??????????DATA: gc_custome_control_name TYPE scrfname , "控件名稱g_alv_tree TYPE REF TO cl_gui_alv_tree, " alv tree gr_container TYPE REF TO cl_gui_custom_container, "容器gr_alvgrid1 TYPE REF TO cl_gui_alv_grid, " alvgr_alvgrid2 TYPE REF TO cl_gui_alv_grid, " alvgs_layout TYPE lvc_s_layo, "格式gt_fieldcat1 TYPE lvc_t_fcat, "ALV字段wa_fieldcat1 TYPE lvc_s_fcat,gt_fieldcat2 TYPE lvc_t_fcat,wa_fieldcat2 TYPE lvc_s_fcat.DATA: l_hierarchy_header TYPE treev_hhdr. "ALVTREE heardDATA: l_top_key TYPE lvc_nkey,l_first_key TYPE lvc_nkey. DATA: l_node_text TYPE lvc_value.DATA: BEGIN OF it_order OCCURS 0, " 定義顯示ALVtree列表 內表carrid LIKE scarr-carrid, "值l_key TYPE lvc_nkey, " 節點END OF it_order.DATA: event_receiver1 TYPE REF TO lcl_tree_event_receiver. " 事件定義 DATA: event_receiver2 TYPE REF TO lcl_tree_event_receiver. " 事件定義??

?

  • 獲取ALV TREE 列表的值

SELECT carridFROM scarrINTO CORRESPONDING FIELDS OF TABLE it_orderWHERE carrid IN s_carrid.

  • 類定義:

CLASS lcl_tree_event_receiver DEFINITION.PUBLIC SECTION.METHODS handle_node_double_click "節點雙擊事件FOR EVENT node_double_click OF cl_gui_alv_treeIMPORTING node_key sender.METHODS handle_double_click "ALV雙擊事件FOR EVENT double_click OF cl_gui_alv_gridIMPORTING e_row e_column. ENDCLASS. ??

  • 類實現

CLASS lcl_tree_event_receiver IMPLEMENTATION.METHOD handle_node_double_click.READ TABLE it_order WITH KEY l_key = node_key INTO it_order.so_carr = it_order-carrid.IF sy-subrc = 0.SELECT a~carrnameb~connid b~countryfr b~cityfrom b~airpfrom b~countrytob~cityto b~airpto b~fltime b~deptime b~arrtime b~distanceINTO CORRESPONDING FIELDS OF TABLE it_mainFROM scarr AS a INNER JOIN spfli AS b ON a~carrid = b~carridWHERE a~carrid = it_order-carrid .SORT it_main BY carrid connid.DELETE ADJACENT DUPLICATES FROM it_main COMPARING ALL FIELDS.CALL METHOD gr_alvgrid1->refresh_table_display. "ALV數據更新CALL METHOD gr_alvgrid2->refresh_table_display. "ALV數據更新CALL METHOD cl_gui_cfw=>flush. "同步ENDIF.ENDMETHOD. "handle_node_double_clickMETHOD handle_double_click.READ TABLE it_main INDEX e_row-index INTO wa_main."獲取數據(同上類似)CALL METHOD gr_alvgrid2->refresh_table_display. "更新表CALL METHOD cl_gui_cfw=>flush.ENDMETHOD.

  • 屏幕PBO, MODULE status_0100 OUTPUT 中,創建TREE 、ALV

?? IF g_alv_tree IS INITIAL.PERFORM build_tree. "創建TREEENDIF.PERFORM register_events. "注冊事件CALL METHOD g_alv_tree->frontend_update. "wait for automatic flush at end of pbo endformCALL METHOD cl_gui_cfw=>flush.IF gr_alvgrid1 IS INITIAL. "創建ALVPERFORM build_alv.ENDIF.

  • 事件注冊

FORM register_events .DATA: lt_events TYPE cntl_simple_events,l_event TYPE cntl_simple_event,l_event_receiver TYPE REF TO lcl_tree_event_receiver.CALL METHOD g_alv_tree->get_registered_eventsIMPORTINGevents = lt_events.l_event-eventid = cl_gui_column_tree=>eventid_node_double_click.APPEND l_event TO lt_events.CALL METHOD g_alv_tree->set_registered_eventsEXPORTINGevents = lt_eventsEXCEPTIONScntl_error = 1cntl_system_error = 2illegal_event_combination = 3.IF sy-subrc <> 0.MESSAGE x208(00) WITH 'ERROR'.ENDIF.CREATE OBJECT l_event_receiver.SET HANDLER l_event_receiver->handle_node_double_click FOR g_alv_tree. ENDFORM. " register_events

  • 創建TREE

?FORM build_tree .gc_custome_control_name = 'TREE'. "跟屏幕定義相同CREATE OBJECT gr_containerEXPORTINGcontainer_name = gc_custome_control_name.CREATE OBJECT g_alv_treeEXPORTINGparent = gr_container "容器名稱node_selection_mode = cl_gui_column_tree=>node_sel_mode_singleitem_selection = 'X'no_html_header = 'X'.l_hierarchy_header-heading = '航線承運人ID'(300).l_hierarchy_header-tooltip = 'Flights in a month'(400).l_hierarchy_header-width = 40.l_hierarchy_header-width_pix = ' '.CALL METHOD g_alv_tree->set_table_for_first_displayEXPORTING= l_hierarchy_headerCHANGINGit_outtab = it_ss[]it_fieldcatalog = gt_fieldcat4.CALL METHOD g_alv_tree->add_nodeEXPORTINGi_relat_node_key = ''i_relationship = cl_gui_column_tree=>relat_last_childi_node_text = '航線承運人ID'IMPORTINGe_new_node_key = l_top_key.LOOP AT it_order.l_node_text = it_order-carrid.CALL METHOD g_alv_tree->add_nodeEXPORTINGi_relat_node_key = l_top_keyi_relationship = cl_gui_column_tree=>relat_last_childi_node_text = l_node_textIMPORTINGe_new_node_key = l_first_key.it_order-l_key = l_first_key.MODIFY it_order.CLEAR it_order.ENDLOOP. ENDFORM. " build_tree

  • 創建ALV
?

總結

以上是生活随笔為你收集整理的alv tree 总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。