sorting - Slickgrid 对层次结构进行排序
问题描述
我创建了一个只有 2 个级别的 slickgrid 层次结构。层次结构的实现遵循示例 5 ( https://6pac.github.io/SlickGrid/examples/example5-collapsing.html )。我正在使用以下叉子 - http://6pac.github.io/SlickGrid。我只想按第一级排序,并让孩子们按相同的顺序排列。我尝试将可排序属性添加到列中,但这并没有做任何事情。关于如何做到这一点的任何指示,我不知道从哪里开始。一如既往地提前感谢。
解决方案
关于您引用的那个例子,有几件事需要注意。
- 在该示例中对数据进行排序是您自己的事,简而言之,这意味着您必须添加自己的排序函数,并且最终必须创建很多递归函数(因为分层数据只是可通过递归排序)
- 最好预先构建来完成这种工作,因为我也需要它,所以我开始了一项功能更改,最终将合并到 6pac/SlickGrid 分支中,我在这个问题帖子中简要讨论了它你可以看到一个动画 gif。但从来没有时间完成它,我也在等待某人的帮助来完成它。除非我们合并它有
- 我开始的功能是我的叉子中的这个示例,它最终将被合并。您可以使用该代码并且它应该可以工作,但您还需要一个新的 SlickGrid 插件,我们创建了plugins/slick.treeData.js并带有一些用于递归内容的帮助程序(请记住,使用层次结构对树数据进行排序需要您使用递归,有趣的时间是......如果你喜欢拉你的头发)
- 或者最后的选择是使用我的另一个库Slickgrid-Universal,它是 SlickGrid 之上的一个包装器(因此它使用 6pac/SlickGrid 分支并且是一个依赖项)。我创建的这个新库与框架无关(它可以在任何框架中使用),并且示例是用普通的 TypeScript(或您希望的 JavaScript)编写的,有 2 个示例用于分层数据集Tree Data 与 parentId 引用和Tree Data 与分层数据集
- 我最终想在我的库中添加的是支持 SlickGrid 内置聚合器,但从来没有时间完成它(这实际上与我在上面写的阻塞选项 2 相同)。
- 如果您使用其他框架,我还创建了 2 个其他库Angular-Slickgrid和Aurelia-Slickgrid,它们具有与选项 3 相同的功能集。
所以从列表中选择你的选择,这不是一个容易使用的选项,但这些是当前选项,显然选项 1 是最难的,因为选项 2-3 基本上意味着我已经完成了选项 1 的工作。
在这个动画 gif 中可以看到选项 2
推荐阅读
- sql - MS Access SQL - 不同的记录和相关值的计数
- html - Content-Disposition: attachment 和download 属性的区别
- python - pos odoo 12 中的退货数量没有减少
- java - 我无法从 Textfield 读取数据
- algorithm - 具有局部空间限制的 MapReduce 算法
- azure-sql-database - azure sql db 无法批量加载,因为无法打开文件“.xml”。操作系统错误代码(空)
- angular - Angular4 ng2-charts TypeError: Cannot read property 'length' of undefined
- sql - 我正在制作一个 SQLite 数据库,但我有许多类似的表 - 有没有办法将它们组合起来?
- python - python中的反转数字未通过验证
- python - 量化不同属性的 3D 点集群