2

この質問は、以前は「あいまいすぎる」としてクローズされていました。私は答えが本当に必死なので、もう一度試してみましょう。

私はここ数日、コントロールの JavaScript ベースの実装を探して見つけようとしています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

やりたいことはマトリックス転置と呼ばれていると思います。これでは、配列とunderscore.jsWebサイトを使用して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 に答える