yx 樹形結構展示,父子關係顯示為完整樹形

2021-06-02 00:32:15 字數 4187 閱讀 8161

id1,

org_name,

org_id ,

parent_org_id

id2,

org_name,

org_id ,

parent_org_id

變為id1  org_id1, org_name1,org_id2,org_name2,org_id3, org_name3...

id2  org_id1, org_name1,org_id2,org_name2,org_id3, org_name3...

將自己部門的完整資訊用一條記錄顯示。

select

t.id,

connect_by_isleaf ,   --是否為最葉子節點

connect_by_root t.nodename,   --根節點節點名字

ltrim(sys_connect_by_path(t.nodename,'-'),'-'),   --連線各節點

level  --層

from treetest t   

start with fatherid is null   --選擇根節點

connect by prior id=fatherid   --prior在前,表示從根節點開始遍歷,connect by id=prior  fatherid表示從葉子節點開始遍歷

order by t.id

第一步,將完整路徑拼接到一起

(    select   org_id,

org_name,

ltrim (sys_connect_by_path (org_name, '->'), '->')

org_tree_path,

level treelevel

from   sys_org

start with   org_id = 0

connect by   prior org_id = parent_org_id)

第二步,拆分完整路徑,分配到各個字段(這裡取5層為例)

/* formatted on 2011-11-21 15:40:49 (qp5 v5.114.809.3010) */

create or replace force view aics.v_oper_org_tree

(op_id,

treelevel,

org_name_1,

org_name_2,

org_name_3,

org_name_4,

org_name_5)as

select   a.op_id,

treelevel,

case treelevel

when 1

then

org_tree_path

else

substr (org_tree_path, 1, instr (org_tree_path, '->') - 1)

endorg_name_1,

case treelevel

when 1

then

null

when 2

then

substr (org_tree_path, instr (org_tree_path, '->') + 2)

else

substr (org_tree_path,

instr (org_tree_path, '->') + 2,

instr (org_tree_path,

'->',

1,2)

- instr (org_tree_path, '->')

- 2)

endorg_name_2,

case treelevel

when 1

then

null

when 2

then

null

when 3

then

substr (org_tree_path, instr (org_tree_path,

'->',

1,2)

+ 2)

else

substr (org_tree_path, instr (org_tree_path,

'->',

1,2)

+ 2,   instr (org_tree_path,

'->',

1,3)

- instr (org_tree_path,

'->',

1,2)

- 2)

endorg_name_3,

case treelevel

when 1

then

null

when 2

then

null

when 3

then

null

when 4

then

substr (org_tree_path, instr (org_tree_path,

'->',

1,3)

+ 2)

else

substr (org_tree_path, instr (org_tree_path,

'->',

1,3)

+ 2,   instr (org_tree_path,

'->',

1,4)

- instr (org_tree_path,

'->',

1,3)

- 2)

endorg_name_4,

case treelevel

when 1

then

null

when 2

then

null

when 3

then

null

when 4

then

null

when 5

then

substr (org_tree_path, instr (org_tree_path,

'->',

1,4)

+ 2)

else

substr (org_tree_path, instr (org_tree_path,

'->',

1,4)

+ 2,   instr (org_tree_path,

'->',

1,5)

- instr (org_tree_path,

'->',

1,4)

- 2)

endorg_name_5

from   sys_oper a,

(    select   org_id,

org_name,

ltrim (sys_connect_by_path (org_name, '->'), '->')

org_tree_path,

level treelevel

from   sys_org

start with   org_id = 0

connect by   prior org_id = parent_org_id) b

where   a.org_id = b.org_id;

select

t.id,

connect_by_isleaf ,   --是否為最葉子節點

connect_by_root t.nodename,   --根節點節點名字

ltrim(sys_connect_by_path(t.nodename,'-'),'-'),   --連線各節點

level  --層

from treetest t   

start with fatherid is null   --選擇根節點

connect by prior id=fatherid   --prior在前,表示從根節點開始遍歷,connect by id=prior  fatherid表示從葉子節點開始遍歷

order by t.id

angular子路由(插座為父子關係)

上面 中子路由配置好之後,如何將子路由對應的那兩個元件顯示出來呢?還是需要用到插座即routeroutlet,寫了routeroutlet後,這兩個元件就會顯示在插座後面。布局檔案的 如下 注意 子路由對應的html中的路徑寫法 中的.表示在它的父元件中開始尋找路徑,父元件為productcompo...

父子關係的陣列和樹形結構資料相互轉化

description 父子關係的陣列轉換成樹形結構資料 param data returns export function translatedatatotree data translator parent,children return parent description 樹形結構資料轉換...

js將有父子關係的資料轉換成樹形結構資料

js將有父子關係的資料轉換成樹形結構資料 比如如下基本資料 let alldatas 需要轉換成如下資料格式,如下 如上id為8的父節點就是id為3的,而id為3的父節點為1,但是父節點目前沒有,所以id為3就是頂級節點了。同理其他的也是一樣的道理 js 如下 屬性配置設定 let attr fun...