2016-09-29 62 views
0

我們目前正在爲一個大型遷移項目苦苦掙扎,並且正在將用戶界面放在一起。從路徑名csv創建導航樹

我從舊系統的有效文件夾路徑列表,像這樣:

/Programme1/Project1/WorkPackage1/Resources 
/Programme1/Project1/WorkPackage1/Plans 
/Programme1/Project1/WorkPackage1/Finance 
/Programme1/Project1/WorkPackage1/Reporting 
/Programme1/Project1/WorkPackage1/Documents 
/Programme1/Project1/WorkPackage2/Resources 
/Programme1/Project1/WorkPackage2/Plans 
/Programme1/Project1/WorkPackage2/Finance 
/Programme1/Project1/WorkPackage2/Reporting 
/Programme1/Project1/WorkPackage2/Documents 
/Programme1/Project2/WorkPackage1/Resources 
/Programme1/Project2/WorkPackage1/Plans 
/Programme1/Project2/WorkPackage1/Finance 
/Programme1/Project2/WorkPackage1/Reporting 
/Programme1/Project2/WorkPackage1/Documents 
/Programme2/Project1/WorkPackage1/Resources 
/Programme2/Project1/WorkPackage1/Plans 
/Programme2/Project1/WorkPackage1/Finance 
/Programme2/Project1/WorkPackage1/Reporting 
/Programme2/Project1/WorkPackage1/Documents 
/Programme2/Project1/WorkPackage2/Resources 
/Programme2/Project1/WorkPackage2/Plans 
/Programme2/Project1/WorkPackage2/Finance 
/Programme2/Project1/WorkPackage2/Reporting 
/Programme2/Project1/WorkPackage2/Documents 
/Programme2/Project2/WorkPackage1/Resources 
/Programme2/Project2/WorkPackage1/Plans 
/Programme2/ Project2/WorkPackage1/Finance 
/Programme2/Project2/WorkPackage1/Reporting 
/Programme2/Project2/WorkPackage1/Documents 

目前這些都在一個csv,我們需要能夠創建可導航的對象,用戶可以用它來導航通過尋找相關文件。

enter image description here

我們有一些問題:

  1. 有在CSV
  2. 我們知道子文件夾的最大數量114000+行和它的大(過多的手動代碼! )。
  3. 有列表中的特殊字符,包括變音符號,重音法語字符+希臘字母字符...
  4. 一個公平的數字(2000+)列表的行是超過400個字符..
  5. 我們」也限制了我們可以使用的工具。我們一直在玩json/jquery/jstree/javascript/excel-vba,並取得了一些成功,但它很痛苦。

如果有人在那裏有類似的挑戰和任何成功,我會有興趣瞭解你如何去了解它!

感謝您的期待。

Fohls

+0

你需要一個js樹的代碼? – SAM

+0

你對jstree有什麼問題? –

+0

我們面臨的問題是,當我們嘗試使用ajax來延遲加載失敗的樹時,出現無效字符錯誤(由於元音變音和其他特殊字符),如果我們將json直接放入html中,它將加載jstree確定使用我們的數據,但需要加載一個年齡...當我們嘗試使用html無序列表(這一直是一個痛苦創造)它似乎並沒有懶加載.. – Fohls

回答

0

如果我是你,我會轉換扁平路徑從CSV爲樹狀結構,並將其存儲在數據庫中。這基本上是你擁有的信息,但沒有csv中的冗餘。從那裏直接轉換成演示文稿。 Jstree是一個不錯的選擇。不應該花很長時間才能啓動並運行。

+0

感謝卡里姆,我們終於現在就開始工作。結果jstree的延遲加載實際上期望返回的json中的樹的片段。我們認爲ajax調用會通過傳遞父對象來選擇我們想要的子對象節點。一旦我們想到了這一點,我們就會根據您的建議創建一個有效的數據庫,並根據傳入調用的父對象撤回動態JSON。 。 – Fohls

0

的解決方案是創建一個包含在一個單一的列中的所有文件夾路徑迷你分貝(1臺),加上他們的父母以及他們是否有孩子(使用VBA想通了......)

然後我們使用一個REST調用來拉回與我們點擊的節點相關的路徑/節點,然後將這些路徑/節點推入頁面中的JavaScript函數中,然後轉換爲JSON,然後在JSTREE中使用它們!

痛苦,但它的作品...現在制定出當我們點擊時如何使跳動顯示......