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

本文关键字:设置 显示 asp net mvc3 | 更新日期: 2023-09-27 18:26:30

我的问题与这个非常相似

我有三张桌子,它们是多对多的关系。我必须建立一个矩阵,以提供设置中间表的可能性。与另一个问题相反,我还没有Sales值,但我需要构建相同的网格格式。

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

谢谢你的帮助,

编辑

回答Mirko:另一个查询不起作用,因为我没有得到结果。这是由于between表中没有数据造成的。我应该能够拥有基于Product和SalesPerson的矩阵,中间表的值为空(或不为空)。

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

只需在网桥上进行区分并枚举(在控制器中):

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>

这是假设你永远不需要销售,否则你需要建立它。

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