【问题标题】:How to display data in matrix form - Asp.Net MVC如何以矩阵形式显示数据 - Asp.Net MVC
【发布时间】:2009-05-23 19:57:39
【问题描述】:

我有一个像这样的表结构

1)ID 2)日期 3)得分

按日期过滤,我可以显示行数(显示字段:分数)。

在一页上我要显示 3 个日期的记录(3 个后续日期,存储在表格中)。

格式应该看起来像....

日期1 日期2 日期3

分数分数分数

分数分数分数

分数分数分数

... ... ...

我应该使用现有的模型类创建自己的模型吗?

我不知道你会怎么想,但是在这种情况下用户控制可以帮助我吗?

请帮帮我...

公众需求更新

使用

<% foreach (var item in Model) { %>
<% } %>

我可以在索引视图中轻松显示每条记录。

上面的结构呢??

如果你没有得到那么......

记录:

1 21/2/2009 29

2 21/2/2009 50

3 21/2/2009 54

2 2009 年 2 月 21 日 77

2 23/2/2009 55

2 23/2/2009 44

2 2009 年 2 月 23 日 66

2 2009 年 2 月 24 日 53

显示

21/2/2009| 23/2/2009| 2009 年 2 月 24 日

29| 55| 53

50| 44|

54| 66|

77|

【问题讨论】:

  • @Mastermind,这有点不必要。无论如何,@Vikas,你能再澄清一下你的问题吗?
  • @BobbyShaftoe:基本上,问题是,我需要编程一些东西,我不知道如何编程[某物],告诉我如何编程[它]。

标签: asp.net-mvc


【解决方案1】:

我是根据自己的想法发布的 - 所以可能会有错别字/错误。

首先你需要一个自定义模型:

public class ScoreColumnViewModel {
    public DateTime Date;
    public List<int> Score;
}

在您的 Controller 中创建一个 ScoreColumnViewModel 列表(假设是 Linq-To-Sql):

var dates = /* dates to select */

var scoreColumns = dates.Select(date =>
    new ScoreColumnViewModel {
        Date = date;
        Score = DB.Scores.Where(x => x.Date == date).
                    Select(x => x.Score).ToList();
    }
).ToList();

在你看来:

<% foreach(var column in Model) { %>
    <table>
        <tr><th><%= column.Date %></th></tr>
        <% foreach(var score in column.Scores) { %>
            <tr><td>score</td></tr>
        <% } %>
    </table>
<% } %>

在你的 CSS 中:

table {
    float: left;
}

我的解决方案并不理想,但可以作为您的起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多