如何在asp.net mvc3中显示矩阵表而不设置多对多?

时间:2015-12-10 21:24:00

标签: c# asp.net asp.net-mvc-3 matrix

我的问题与此one

非常相似

我有三张桌子,这些桌子有多对多关系。我必须构建一个矩阵,可以设置表间。与其他问题相比,我还没有销售值,但我需要构建相同的网格格式。

我不确定如何编写LINQ查询,而另一篇文章中的查询不适用于我的目的。

感谢您的帮助,

修改

要回答Mirko:另一个查询无效,因为我没有结果。这是因为表之间没有数据。我应该能够使用基于Product和SalesPerson的矩阵,在表格之间使用空值(或不具有空值)。

1 个答案:

答案 0 :(得分:0)

简单地在桥上区分并枚举(在控制器中):

var model = new MyModel();
model.Columns = resultSet.Select(x => x.ColumnProperty).Distinct().OrderBy(x => x);
model.Rows = resultSet.Select(x => x.RowProperty).Distinct().OrderBy(x => x);

然后在视图中:

<table>
  <thead>
    <th>
      <td></td>
      @foreach(var column in Model.Columns)
      {
        <td>@column</td>
      }
    </th>
  </thead>
  @foreach(var row in Model.Rows)
  {
    <tr>
      <td>@row</td>
      @foreach(var column in Model.Columns)
      {
        <td></td>
      }
    </tr>
  }
</table>

这假设您从不需要销售,否则您需要构建它。

如果不是这样,请更好地说明其他问题查询对您不起作用的方式。