1

このようなデータベースからのレコードがあります。

私の記録

このような表を表示したい いいねを表示するテーブル

Days は 32 まであり、デフォルトでは 1 から 32 です。日が一致するレコードを挿入する必要があります。

私が試した方法は面倒すぎてうまくいかないからです。いくつかの方法を提案してもらえますか?HTMLテーブルに表示する必要があります。どんな言語でもいいです..私はアイデアが必要です。できればMVC C#

更新 ありがとうございました...私はあなたの両方(unlimitとJoe Enos)からアイデアを得て、それをやりました。同じ問題をもう 1 つ解決できますか? 同じ日にArea 1別のレコードがある場合はどうなりますか。2 hours私はそれらを表示する必要がありますseparately。どうすればその日のうちに記録を見せることができますか?

ここに画像の説明を入力

4

2 に答える 2

2

データをより使いやすいものに変換したいと思うでしょう。それができたら、それを行に変えるのは簡単です。

32 個のスロットごとに、値の配列を含む領域を表すクラスを作成します。データを読み取るときに、次のような適切な値を配列に入力します。

class Area {
    public Area() { Values = new int[32]; }
    public int[] Values { get; set; }
    public int AreaNumber { get; set; }
}

var areas = new List<Area>();
foreach (var record in databaseRecords) {
    var area = // find area from list based on AreaNumber. If not there, add it
    area[record.Day - 1] = record.Hour;
}

これで、それぞれに 32 項目の配列を持つエリアのリストができました。これで、最初にすべての領域をループし、次に配列内の 32 項目をループする、2 レベルのループで HTML テーブルを作成できます。

于 2013-10-29T07:27:36.930 に答える