普通下拉框改造成下拉樹的部門解決方案

2021-09-01 15:24:28 字數 1082 閱讀 1430

[size=large][color=red]1. 由於樹結構中分為葉子節點和非葉子節點。[/color][/size]如果在**中處理是否有孩子,處理起來效率很低。最終發現乙個比較好的解決方案:把判斷是否有孩子工作放到查詢語句中。如下

select *,

(select

count(child.id)

from

bug_srs child

where

child.f_id = par.id

) as childcount

from

bug_srs par

where

par.f_id=0

在查詢節點資訊的時候同步把孩子個數也查詢出來,可以作為是否是葉子節點的判斷。

[size=large][color=red]2. 在資料遷移方面[/color][/size],目前情況是這個樹結構資訊已經存在在另外的一張表之中,二當前的表結構由不支援樹型資料。如下圖:

舊表結構:

[img]

要匯入的資料表結構:

[img]

[color=red]注: srs 對應 module的資料[/color]

由於舊資料也要保持,而匯入的新資料id和舊資料的id將不一樣,導致f_id無法正常匹配。

可以通過下面的方法來正常匯入:

1. 在為舊表新增f_id 列的時候同步新增乙個tempid列

[img]

2. 使用匯入工具的時候,記得把id 匹配到tempid上

[img]

3. 資料匯入後,在通過sql語句修訂f_id

update bug_srs

setbug_srs.f_id = (select srs2.id from bug_srs srs2 where bug_srs.f_id = srs2.tempid)

where bug_srs.f_id != 0 and bug_srs.f_id is not null

4. 驗證下資料就ok了

帶樹的下拉框

專案中用到的乙個帶樹的下拉框 var unitcb new ext.form.combobox editable false,valuefield id displayfield text value maxheight 390,labelstyle micolor,anchor 84 mode l...

angular zorro 下拉框長度超出解決

angular zorro 下拉框長度超出解決,並統一滾動條樣式 css滾動條選擇器 你可以使用以下偽元素選擇器去修改各式webkit瀏覽器的滾動條樣式 webkit scrollbar 整個滾動條.webkit scrollbar button 滾動條上的按鈕 上下箭頭 webkit scroll...

el select el tree結合下拉框樹

話不多說先上 使用el的下拉框和樹的 minestatus placeholder 請選擇 multiple clearable clear clearable collapse tags visible change selectcar remove tag remove minestatusva...