对嵌套表行进行分组

时间:2014-06-27 09:25:06

标签: javascript html css dom

在HTML表格中对表格行进行分组的最佳方法是什么?一些分组应该是嵌套的,因此使用<tbody>不是理想的解决方案(它们不应该嵌套)。

我的数据格式如下:

Level 1
Level 1
    Level 2
    Level 2
        Level 3
            Level 4
        Level 3
        Level 3
    Level 2
Level 1
    Level 2
        Level 3
            Level 4
            Level 4
        Level 3
    Level 2
        Level 3

我想要实现的目标:

  • 明智的文档结构,易于阅读
  • 到目前为止,我已经实现了“易于阅读”。 css为不同级别的部分
  • 某些嵌套级别可能需要是可折叠的,因此分组会(?)使事情变得更容易。它必须工作,以便紧跟在任何特定更高级别之后的嵌套级别将通过某种机制崩溃(点击,很可能)。不确定这种崩溃有多大意义,但这可能是其中一项要求。

该表是在JavaScript中生成的(来自具有嵌套结构的JSON对象),因此我可以为它做各种各样的魔术。数据代表财务资产负债表,有时您可能希望显示/隐藏任何特定数据行的更详细信息,因此嵌套。

3 个答案:

答案 0 :(得分:1)

我认为在HTML中没有好办法。我会使用JQuery Datatable。

http://jquery-datatables-row-grouping.googlecode.com/svn/trunk/customGroupOrdering.html

尝试查看该示例

答案 1 :(得分:1)

我遇到了同样的问题需要解决,这是我的解决方案,我希望它会有所帮助..

对我来说,就是在表格的每一行添加一些属性(rowname, parent, state)。州属性可以是&#34;已打开&#34; &#34;已折叠&#34; &#34; leaf&#34; 。然后两个javascript函数将完成魔术,请参阅工作fiddle

答案 2 :(得分:0)

您可以尝试使用具有级别的垂直菜单和可折叠面板。有这么多模板可用。只是一个想法。