Je passe mon modèle à ma vue. Sur cette vue, j'affiche une table et essaie de la remplir avec une liste d'informations de la base de données.Comment grouper un modèle fortement typé
J'utilise asp.net-mvc, Entity Framework, rasoir, C# et LINQ
Cependant je en ai besoin groupé par une certaine colonne kpiID
.
Voici toutes les colonnes du tableau.
kpiHistoryID
kpiID
startAmount
completedamount
endAmount
completeBy
comments
Les liens kpiID arrière du tableau de KPI et est où je peux saisir le nom réel de l'indicateur de performance clé.
Comment exactement regrouper les données et peut-il être fait dans la ligne @foreach
ci-dessous?
<tbody>
@foreach (var item in @Model.IPACS_Department.IPACS_Functions.SelectMany(m => m.IPACS_Processes).SelectMany(m => m.IPACS_Procedures).SelectMany(m => m.IPACS_KPIS).SelectMany(m => m.IPACS_kpiHistory))
{
<tr class="gradeX">
<td>
@item.IPACS_KPIS.name
</td>
<td>
@item.startAmount
</td>
<td>
@item.completedAmount
</td>
<td>
@item.endAmount
</td>
</tr>
}
</tbody>
Vous devez faire les choses 'SelectMany' de tout groupement dans le contrôleur, la vue est juste boucle si' var élément dans Model.TheList' –
@ColmPrunty Vous avez raison. Cependant je ne suis pas super expérimenté. Sur cette page, j'ai besoin d'accéder à IPACS_Department, IPACS_Function, IPACS_Process, IPACS_Procedure, IPACS_KPIS et IPACS_kpiHistory. J'ai supposé que je pourrais les placer tous dans le contrôleur, mais je ne sais toujours pas comment les grouper correctement. –
Voilà à quoi servent les modèles de vue. Utilise les. * Toujours * les utiliser. http://msdn.microsoft.com/en-us/vs2010trainingcourse_aspnetmvc3fundamentals_topic7.aspx –