2016-09-29 149 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中使用它们!

痛苦,但它的作品...现在制定出当我们点击时如何使跳动显示......