2

这个问题以前被关闭为“太模糊”。既然我真的很想得到答案,让我再试一次。

我花了几天时间寻找并尝试为控件找到基于 JavaScript 的实现,我呼吁更好的术语 a horizontal grid. 为了帮助您理解我的意思,让我们从常规网格开始。假设我有一个包含历史数据的数据库表,用于运送我想要显示的一些汽车零件。在常规网格(表格)控件中,它看起来像这样:

Date | Part 1 | Part 2 | Part 3 |
---------------------------------
3/15 |   5    |   6    |   7    |  |
3/16 |   4    |   3    |   1    |  |
3/17 |   2    |   4    |   5    |  V
3/18 |   5    |   1    |   8    |  

现在,假设我需要表示水平增长的相同数据集。这个想法是常规网格的行和列是倒置的,并且网格不是从上到下而是从左到右填充的。想想已经翻转的常规网格:

       |3/15| 3/16| 3/17| 3/18|
------------------------------- 
Part 1 |  5 |   4 |  2  |  5  |
Part 2 |  6 |   3 |  4  |  1  |
Part 3 |  7 |   1 |  5  |  8  |

            --->

对于一个小的数据集,我可以使用 HTML 表来执行此操作,但问题是数据集可能非常大(并且是动态的),因此当网格向右滚动时,分页或自动上传附加记录会很好。

正如我所提到的,进行搜索并没有真正找到任何东西。我愿意从头开始编写代码,但在开始之前,最好能获得一些关于现有控件的建议,我可以以这种方式重新工作

4

1 回答 1

3

我相信你想做的就是所谓的矩阵转置。在这个我们可以用数组和下划线.js网站在javascript中做到这一点

var autoParts =[
    ['Date', 'Part 1 ', 'Part 2', 'Part 3'],
    ['3/15', 5, 6, 7],
    ['3/16', 4, 3, 1],
    ['3/17', 2, 4, 5],
    ['3/18', 5, 1, 8]
]

var rotatedAutoParts = _.zip.apply(null, autoParts);

rotatedAutoParts现在包含:

[
    ["Date", "3/15", "3/16", "3/17", "3/18"],
    ["Part 1 ",5, 4, 2, 5],
    ["Part 2",6, 3, 4, 1],
    ["Part 3", 7, 1, 5, 8]
]

正确设置数据后,您应该能够快速重新填充 HTML 表格。

于 2013-03-20T17:40:48.813 回答