SAP Column tree
code as bellow
*&---------------------------------------------------------------------*
*& Include COLUMN_TREE_CONTROL_DEMOTOP *
*& *
*&---------------------------------------------------------------------* REPORT SAPCOLUMN_TREE_CONTROL_DEMO MESSAGE-ID TREE_CONTROL_MSG. CLASS LCL_APPLICATION DEFINITION DEFERRED.
CLASS CL_GUI_CFW DEFINITION LOAD. * CAUTION: MTREEITM is the name of the item structure which must
* be defined by the programmer. DO NOT USE MTREEITM!
TYPES: ITEM_TABLE_TYPE LIKE STANDARD TABLE OF MTREEITM
WITH DEFAULT KEY. DATA: G_APPLICATION TYPE REF TO LCL_APPLICATION,
G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
G_TREE TYPE REF TO CL_GUI_COLUMN_TREE,
G_OK_CODE TYPE SY-UCOMM. * Fields on Dynpro 100
DATA: G_EVENT(30),
G_NODE_KEY TYPE TV_NODEKEY,
G_ITEM_NAME TYPE TV_ITMNAME,
G_HEADER_NAME TYPE TV_HDRNAME. CONSTANTS:
BEGIN OF c_nodekey,
root type tv_nodekey value 'Root', "#EC NOTEXT
child1 TYPE tv_nodekey VALUE 'Child1', "#EC NOTEXT
* child2 type tv_nodekey value 'Child2', "#EC NOTEXT
new1 TYPE tv_nodekey VALUE 'New1', "#EC NOTEXT
new2 TYPE tv_nodekey VALUE 'New2', "#EC NOTEXT
* new3 type tv_nodekey value 'New3', "#EC NOTEXT
* new4 type tv_nodekey value 'New4', "#EC NOTEXT
END OF c_nodekey,
BEGIN OF c_column,
column1 TYPE tv_itmname VALUE 'Column1', "#EC NOTEXT
column2 TYPE tv_itmname VALUE 'Column2', "#EC NOTEXT
column3 TYPE tv_itmname VALUE 'Column3', "#EC NOTEXT
END OF c_column. *** INCLUDE COLUMN_TREE_CONTROL_DEMOTOP
*----------------------------------------------------------------------*
* INCLUDE COLUMN_TREE_CONTROL_DEMOCL1 *
*----------------------------------------------------------------------* CLASS LCL_APPLICATION DEFINITION. PUBLIC SECTION.
METHODS:
HANDLE_NODE_DOUBLE_CLICK
FOR EVENT NODE_DOUBLE_CLICK
OF CL_GUI_COLUMN_TREE
IMPORTING NODE_KEY,
HANDLE_HEADER_CLICK
FOR EVENT HEADER_CLICK
OF CL_GUI_COLUMN_TREE
IMPORTING HEADER_NAME,
HANDLE_EXPAND_NO_CHILDREN
FOR EVENT EXPAND_NO_CHILDREN
OF CL_GUI_COLUMN_TREE
IMPORTING NODE_KEY,
HANDLE_ITEM_DOUBLE_CLICK
FOR EVENT ITEM_DOUBLE_CLICK
OF CL_GUI_COLUMN_TREE
IMPORTING NODE_KEY ITEM_NAME,
HANDLE_BUTTON_CLICK
FOR EVENT BUTTON_CLICK
OF CL_GUI_COLUMN_TREE
IMPORTING NODE_KEY ITEM_NAME,
HANDLE_LINK_CLICK
FOR EVENT LINK_CLICK
OF CL_GUI_COLUMN_TREE
IMPORTING NODE_KEY ITEM_NAME,
HANDLE_CHECKBOX_CHANGE
FOR EVENT CHECKBOX_CHANGE
OF CL_GUI_COLUMN_TREE
IMPORTING NODE_KEY ITEM_NAME CHECKED.
ENDCLASS. "LCL_APPLICATION DEFINITION *----------------------------------------------------------------------*
* CLASS LCL_APPLICATION IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_APPLICATION IMPLEMENTATION. METHOD HANDLE_NODE_DOUBLE_CLICK.
" this method handles the node double click event of the tree
" control instance " show the key of the double clicked node in a dynpro field
G_EVENT = 'NODE_DOUBLE_CLICK'.
G_NODE_KEY = NODE_KEY.
CLEAR: G_ITEM_NAME, G_HEADER_NAME.
ENDMETHOD. "HANDLE_NODE_DOUBLE_CLICK METHOD HANDLE_HEADER_CLICK.
" this method handles header click event of the tree
" control instance " show the name of the clicked header in a dynpro field
G_EVENT = 'HEADER_CLICK'.
G_HEADER_NAME = HEADER_NAME.
CLEAR: G_NODE_KEY, G_ITEM_NAME.
ENDMETHOD. "HANDLE_HEADER_CLICK METHOD HANDLE_ITEM_DOUBLE_CLICK.
" this method handles the item double click event of the tree
" control instance " show the key of the node and the name of the item
" of the double clicked item in a dynpro field
G_EVENT = 'ITEM_DOUBLE_CLICK'.
G_NODE_KEY = NODE_KEY.
G_ITEM_NAME = ITEM_NAME.
CLEAR G_HEADER_NAME.
ENDMETHOD. "HANDLE_ITEM_DOUBLE_CLICK METHOD HANDLE_LINK_CLICK.
" this method handles the link click event of the tree
" control instance " show the key of the node and the name of the item
" of the clicked link in a dynpro field
G_EVENT = 'LINK_CLICK'.
G_NODE_KEY = NODE_KEY.
G_ITEM_NAME = ITEM_NAME.
CLEAR G_HEADER_NAME.
ENDMETHOD. "HANDLE_LINK_CLICK METHOD HANDLE_BUTTON_CLICK.
" this method handles the button click event of the tree
" control instance " show the key of the node and the name of the item
" of the clicked button in a dynpro field
G_EVENT = 'BUTTON_CLICK'.
G_NODE_KEY = NODE_KEY.
G_ITEM_NAME = ITEM_NAME.
CLEAR G_HEADER_NAME.
ENDMETHOD. "HANDLE_BUTTON_CLICK METHOD HANDLE_CHECKBOX_CHANGE.
" this method handles the checkbox_change event of the tree
" control instance " show the key of the node and the name of the item
" of the clicked checkbox in a dynpro field
G_EVENT = 'CHECKBOX_CHANGE'.
G_NODE_KEY = NODE_KEY.
G_ITEM_NAME = ITEM_NAME.
CLEAR G_HEADER_NAME.
ENDMETHOD. "HANDLE_CHECKBOX_CHANGE METHOD HANDLE_EXPAND_NO_CHILDREN.
DATA: NODE_TABLE TYPE TREEV_NTAB,
NODE TYPE TREEV_NODE,
ITEM_TABLE TYPE ITEM_TABLE_TYPE,
ITEM TYPE MTREEITM. * show the key of the expanded node in a dynpro field
G_EVENT = 'EXPAND_NO_CHILDREN'.
G_NODE_KEY = NODE_KEY.
CLEAR: G_ITEM_NAME, G_HEADER_NAME. IF node_key = c_nodekey-child1.
* add two nodes * Node with key 'New1'
CLEAR NODE.
node-node_key = c_nodekey-New1.
node-relatkey = c_nodekey-child1.
NODE-RELATSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD.
APPEND NODE TO NODE_TABLE. * Node with key 'New2'
CLEAR NODE.
node-node_key = c_nodekey-New2.
node-relatkey = c_nodekey-child1.
NODE-RELATSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD.
NODE-N_IMAGE = '@10@'.
APPEND NODE TO NODE_TABLE. * Items of node with key 'New1'
CLEAR ITEM.
item-node_key = c_nodekey-New1.
item-item_name = c_column-Column1.
item-class = cl_gui_column_tree=>item_class_text.
item-text = 'New1 Col. 1'(n11).
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-New1.
item-item_name = c_column-Column2.
ITEM-CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_LINK.
item-t_image = '@3C@'.
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-New1.
item-item_name = c_column-Column3.
item-class = cl_gui_column_tree=>item_class_text.
item-text = 'New1 Col. 3'(n13).
APPEND ITEM TO ITEM_TABLE. * Items of node with key 'New2'
CLEAR ITEM.
item-node_key = c_nodekey-New2.
item-item_name = c_column-Column1.
item-class = cl_gui_column_tree=>item_class_text.
item-text = 'New2 Col. 1'(n21).
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-New2.
item-item_name = c_column-Column2.
item-class = cl_gui_column_tree=>item_class_text.
item-text = 'New2 Col. 2'(n22).
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-New2.
item-item_name = c_column-Column3.
item-class = cl_gui_column_tree=>item_class_text.
item-text = 'New2 Col. 3'(n23).
APPEND ITEM TO ITEM_TABLE. CALL METHOD G_TREE->ADD_NODES_AND_ITEMS
EXPORTING
NODE_TABLE = NODE_TABLE
ITEM_TABLE = ITEM_TABLE
ITEM_TABLE_STRUCTURE_NAME = 'MTREEITM'
EXCEPTIONS
FAILED = 1
CNTL_SYSTEM_ERROR = 3
ERROR_IN_TABLES = 4
DP_ERROR = 5
TABLE_STRUCTURE_NAME_NOT_FOUND = 6.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF.
endif.
ENDMETHOD. "HANDLE_EXPAND_NO_CHILDREN ENDCLASS. "LCL_APPLICATION IMPLEMENTATION
*-------------------------------------------------------------------
***INCLUDE column_tree_control_demoO01 .
*-------------------------------------------------------------------
*&---------------------------------------------------------------------*
*& Module PBO_0400 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE PBO_100 OUTPUT.
SET PF-STATUS 'MAIN'.
IF G_TREE IS INITIAL.
" The Tree Control has not been created yet.
" Create a Tree Control and insert nodes into it.
PERFORM CREATE_AND_INIT_TREE.
ENDIF.
ENDMODULE. " PBO_0100 OUTPUT
*** INCLUDE column_tree_control_demoO01
*-------------------------------------------------------------------
***INCLUDE column_tree_control_demoI01 .
*-------------------------------------------------------------------
*&---------------------------------------------------------------------*
*& Module PAI_0400 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE PAI_100 INPUT.
data: return_code type i.
* CL_GUI_CFW=>DISPATCH must be called if events are registered
* that trigger PAI
* this method calls the event handler method of an event
CALL METHOD CL_GUI_CFW=>DISPATCH
importing return_code = return_code.
if return_code <> cl_gui_cfw=>rc_noevent.
" a control event occured => exit PAI
clear g_ok_code.
exit.
endif. CASE G_OK_CODE.
WHEN 'BACK'. " Finish program
IF NOT G_CUSTOM_CONTAINER IS INITIAL.
" destroy tree container (detroys contained tree control, too)
CALL METHOD G_CUSTOM_CONTAINER->FREE
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CNTL_ERROR = 2.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF.
CLEAR G_CUSTOM_CONTAINER.
CLEAR G_TREE.
ENDIF.
LEAVE PROGRAM.
ENDCASE. * CAUTION: clear ok code!
CLEAR G_OK_CODE.
ENDMODULE. " PAI_0100 INPUT
*** INCLUDE column_tree_control_demoI01
*-------------------------------------------------------------------
***INCLUDE column_tree_control_demoF01 .
*------------------------------------------------------------------- *&---------------------------------------------------------------------*
*& Form CREATE_AND_INIT_TREE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CREATE_AND_INIT_TREE.
DATA: NODE_TABLE TYPE TREEV_NTAB,
ITEM_TABLE TYPE ITEM_TABLE_TYPE,
event type cntl_simple_event,
EVENTS TYPE CNTL_SIMPLE_EVENTS,
HIERARCHY_HEADER TYPE TREEV_HHDR. * create a container for the tree control
CREATE OBJECT G_CUSTOM_CONTAINER
EXPORTING
" the container is linked to the custom control with the
" name 'TREE_CONTAINER' on the dynpro
CONTAINER_NAME = 'TREE_CONTAINER'
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF.
* setup the hierarchy header
hierarchy_header-heading = 'Hierarchy Header'(roo).
" heading
HIERARCHY_HEADER-WIDTH = 30. " width: 30 characters * create a tree control * After construction, the control contains one column in the
* hierarchy area. The name of this column
* is defined via the constructor parameter HIERACHY_COLUMN_NAME.
CREATE OBJECT G_TREE
EXPORTING
PARENT = G_CUSTOM_CONTAINER
NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE
ITEM_SELECTION = 'X'
hierarchy_column_name = c_column-Column1
HIERARCHY_HEADER = HIERARCHY_HEADER
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CREATE_ERROR = 2
FAILED = 3
ILLEGAL_NODE_SELECTION_MODE = 4
ILLEGAL_COLUMN_NAME = 5
LIFETIME_ERROR = 6.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF. * define the events which will be passed to the backend
" node double click
event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_NODE_DOUBLE_CLICK.
event-appl_event = 'X'. " process PAI if event occurs
append event to events. " item double click
event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_ITEM_DOUBLE_CLICK.
event-appl_event = 'X'.
append event to events. " expand no children
event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_EXPAND_NO_CHILDREN.
event-appl_event = 'X'.
append event to events. " link click
event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_LINK_CLICK.
event-appl_event = 'X'.
append event to events. " button click
event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_button_click.
event-appl_event = 'X'.
append event to events. " checkbox change
event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_checkbox_change.
event-appl_event = 'X'.
append event to events. " header click
event-eventid = CL_GUI_COLUMN_TREE=>EVENTID_header_click.
event-appl_event = 'X'.
append event to events. CALL METHOD G_TREE->SET_REGISTERED_EVENTS
EXPORTING
EVENTS = EVENTS
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
ILLEGAL_EVENT_COMBINATION = 3.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF. * assign event handlers in the application class to each desired event
SET HANDLER G_APPLICATION->HANDLE_NODE_DOUBLE_CLICK FOR G_TREE.
SET HANDLER G_APPLICATION->HANDLE_ITEM_DOUBLE_CLICK FOR G_TREE.
SET HANDLER G_APPLICATION->HANDLE_EXPAND_NO_CHILDREN FOR G_TREE.
SET HANDLER G_APPLICATION->HANDLE_LINK_CLICK FOR G_TREE.
SET HANDLER G_APPLICATION->HANDLE_BUTTON_CLICK FOR G_TREE.
SET HANDLER G_APPLICATION->HANDLE_CHECKBOX_CHANGE FOR G_TREE.
SET HANDLER G_APPLICATION->HANDLE_HEADER_CLICK FOR G_TREE. * insert two additional columns * Column2
CALL METHOD G_TREE->ADD_COLUMN
EXPORTING
name = c_column-Column2
width = 21
header_text = 'Column2'(co2)
EXCEPTIONS
COLUMN_EXISTS = 1
ILLEGAL_COLUMN_NAME = 2
TOO_MANY_COLUMNS = 3
ILLEGAL_ALIGNMENT = 4
DIFFERENT_COLUMN_TYPES = 5
CNTL_SYSTEM_ERROR = 6
FAILED = 7
PREDECESSOR_COLUMN_NOT_FOUND = 8.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF.
* Column3
CALL METHOD G_TREE->ADD_COLUMN
EXPORTING
name = c_column-Column3
width = 21
alignment = cl_gui_column_tree=>align_right
header_text = 'Column3'(co3)
EXCEPTIONS
COLUMN_EXISTS = 1
ILLEGAL_COLUMN_NAME = 2
TOO_MANY_COLUMNS = 3
ILLEGAL_ALIGNMENT = 4
DIFFERENT_COLUMN_TYPES = 5
CNTL_SYSTEM_ERROR = 6
FAILED = 7
PREDECESSOR_COLUMN_NOT_FOUND = 8.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF. * add some nodes to the tree control
* NOTE: the tree control does not store data at the backend. If an
* application wants to access tree data later, it must store the
* tree data itself. PERFORM BUILD_NODE_AND_ITEM_TABLE USING NODE_TABLE ITEM_TABLE. CALL METHOD G_TREE->ADD_NODES_AND_ITEMS
EXPORTING
NODE_TABLE = NODE_TABLE
ITEM_TABLE = ITEM_TABLE
ITEM_TABLE_STRUCTURE_NAME = 'MTREEITM'
EXCEPTIONS
FAILED = 1
CNTL_SYSTEM_ERROR = 3
ERROR_IN_TABLES = 4
DP_ERROR = 5
TABLE_STRUCTURE_NAME_NOT_FOUND = 6.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF. * expand the node with key 'Root'
CALL METHOD G_TREE->EXPAND_NODE
EXPORTING
node_key = c_nodekey-Root
EXCEPTIONS
FAILED = 1
ILLEGAL_LEVEL_COUNT = 2
CNTL_SYSTEM_ERROR = 3
NODE_NOT_FOUND = 4
CANNOT_EXPAND_LEAF = 5.
IF SY-SUBRC <> 0.
MESSAGE A000.
ENDIF. ENDFORM. " CREATE_AND_INIT_TREE *&---------------------------------------------------------------------*
*& Form build_node_and_item_table
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------* FORM BUILD_NODE_AND_ITEM_TABLE
USING
NODE_TABLE TYPE TREEV_NTAB
ITEM_TABLE TYPE ITEM_TABLE_TYPE. DATA: NODE TYPE TREEV_NODE,
ITEM TYPE MTREEITM. * Build the node table. * Caution: The nodes are inserted into the tree according to the order
* in which they occur in the table. In consequence, a node must not
* must not occur in the node table before its parent node. * Node with key 'Root'
node-node_key = c_nodekey-Root.
" Key of the node
CLEAR NODE-RELATKEY. " Special case: A root node has no parent
CLEAR NODE-RELATSHIP. " node. NODE-HIDDEN = ' '. " The node is visible,
NODE-DISABLED = ' '. " selectable,
NODE-ISFOLDER = 'X'. " a folder.
CLEAR NODE-N_IMAGE. " Folder-/ Leaf-Symbol in state "closed":
" use default.
CLEAR NODE-EXP_IMAGE. " Folder-/ Leaf-Symbol in state "open":
" use default
CLEAR NODE-EXPANDER. " see below.
APPEND NODE TO NODE_TABLE. * Node with key 'Child1'
node-node_key = c_nodekey-child1.
" Key of the node
" Node is inserted as child of the node with key 'Root'.
node-relatkey = c_nodekey-Root.
NODE-RELATSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD. NODE-HIDDEN = ' '.
NODE-DISABLED = ' '.
NODE-ISFOLDER = 'X'.
CLEAR NODE-N_IMAGE.
CLEAR NODE-EXP_IMAGE.
NODE-EXPANDER = 'X'. " The node is marked with a '+', although
" it has no children. When the user clicks on the
" + to open the node, the event expand_nc is
" fired. The programmerr can
" add the children of the
" node within the event handler of the expand_nc
" event (see callback handle_expand_nc).
APPEND NODE TO NODE_TABLE. * The items of the nodes: * Node with key 'Root'
CLEAR ITEM.
item-node_key = c_nodekey-Root.
item-item_name = c_column-Column1. " Item of Column 'Column1'
item-class = cl_gui_column_tree=>item_class_text. " Text Item
item-text = 'Root Col. 1'(ro1).
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-Root.
item-item_name = c_column-Column2. " Item of Column 'Column2'
item-class = cl_gui_column_tree=>item_class_text.
item-text = 'Root Col. 2'(ro2).
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-Root.
item-item_name = c_column-Column3. " Item of Column 'Column3'
" Item is a link (click on link fires event LINK_CLICK)
item-class = cl_gui_column_tree=>item_class_link.
item-text = 'Root Col. 3'(ro3).
APPEND ITEM TO ITEM_TABLE. * Node with key 'Child1'
CLEAR ITEM.
item-node_key = c_nodekey-Child1.
item-item_name = c_column-Column1.
item-class = cl_gui_column_tree=>item_class_text.
item-text = 'Child1 Col. 1'(c11).
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-Child1.
item-item_name = c_column-Column2. "
item-class = cl_gui_column_tree=>item_class_button. " Item is a button
item-text = 'Child1 Col. 2'(c12).
ITEM-T_IMAGE = '@0B@'.
APPEND ITEM TO ITEM_TABLE. CLEAR ITEM.
item-node_key = c_nodekey-Child1.
item-item_name = c_column-Column3.
" Item is a checkbox
ITEM-CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_CHECKBOX.
ITEM-EDITABLE = 'X'.
item-text = 'Child1 Col. 3'(c13).
ITEM-T_IMAGE = '@0C@'.
APPEND ITEM TO ITEM_TABLE. ENDFORM. " build_node_and_item_table *** INCLUDE column_tree_control_demoF01
START-OF-SELECTION.
* create the application object
* this object is needed to handle the ABAP Objects Events of
* Controls
CREATE OBJECT G_APPLICATION. SET SCREEN 100.
SAP Column tree的更多相关文章
- SAP Easy tree
*&---------------------------------------------------------------------* *& Include SIMPLE_T ...
- SAP Tree editor(树形结构)
SAP List Tree 效果 源代码 *&---------------------------------------------------------------------* *& ...
- 屏幕 Dynpro
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ALV详解:OO ALV
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- SAP CRM 树视图(TREE VIEW)
树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...
- LeetCode Javascript实现 100. Same Tree 171. Excel Sheet Column Number
100. Same Tree /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; ...
- U面经Prepare: Print Binary Tree With No Two Nodes Share The Same Column
Give a binary tree, elegantly print it so that no two tree nodes share the same column. Requirement: ...
- SAP Material Type on Classification Tree(ClassMaster management)
SAP Material Type on Classification Tree(ClassMaster management) 1. Classification Tree 是 luxottica ...
- SAP Drag or drop tree
1 *&---------------------------------------------------------------------* 2 *& Report RSDEM ...
随机推荐
- rbac介绍、自动生成接口文档、jwt介绍与快速签发认证、jwt定制返回格式
今日内容概要 RBAC 自动生成接口文档 jwt介绍与快速使用 jwt定制返回格式 jwt源码分析 内容详细 1.RBAC(重要) # RBAC 是基于角色的访问控制(Role-Based Acces ...
- Zookeeper启动问题记录——ZooKeeper audit is enabled.
问题原因是Zookeeper的日志服务默认关闭,在zoo.cfg文件中添加 audit.enable=true 保存后重启服务就能够正常启动. 另外,这个只影响Zookeeper的日志记录,不影响其他 ...
- 2021.08.09 P5018 对称二叉树(树形结构)
2021.08.09 P5018 对称二叉树(树形结构) [P5018 NOIP2018 普及组] 对称二叉树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 求一棵子树,关 ...
- Fastjson tomcat-dhcp链
Fastjson tomcat-dbcp链 这条链可直接回显,可以解决fastjson在内网的情况,因为很多实战的时候,fastjson的应用部署在内网,只映射一个端口出来,导致前面学习的jdbcRo ...
- LCA的离线快速求法
最常见的LCA(树上公共祖先)都是在线算法,往往带了一个log.有一种办法是转化为"+-1最值问题"得到O(n)+O(1)的复杂度,但是原理复杂,常数大.今天介绍一种允许离线时接近 ...
- MySQL基础入门(1)
MySQL基础入门(1) 为什么学习MySQL 关系数据库管理系统(Relational Database Management System, RDBMS)是一种极为重要的工具,其应用十分广泛,从商 ...
- vite创建vue3项目 vueconfig配置及其备注
import vue from '@vitejs/plugin-vue' const path = require('path') // vite.config.js # or vite.config ...
- 【生产事故调查】优化出来的bug-合并集合重复项
本来是要修复前一个代码bug,修复的过程中发现原本的代码又丑又长,复用性差(但是能用),出于强迫症忍不住的去优化,测试还不充分,火急火燎的发到生产了,结果掉井了!导致多个订单线下物流发货发多了.... ...
- SmartIDE v0.1.16 已经发布 - 支持阿里&蚂蚁开源的国产 IDE OpenSumi
SmartIDE v0.1.16 (Build 3137) 已经在2022年4月19日发布到稳定版通道,我们在这个版本中增加了阿里和蚂蚁发布的国产IDE OpenSumi的支持,以及其他一些改进.Sm ...
- [操作系统]LINUX进程状态说明
R(task_running) : 可执行状态 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程 处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的 ...