このネストされたグループ化はどのようにして剃刀のように表示できますか?かんたんビューでlinqを使用してGroupByを実装する方法
これは、私はあなたがグループ化されたデータが欲しいので、私はあなたを示唆ビュー
このネストされたグループ化はどのようにして剃刀のように表示できますか?かんたんビューでlinqを使用してGroupByを実装する方法
これは、私はあなたがグループ化されたデータが欲しいので、私はあなたを示唆ビュー
でforeach
ループを実装する方法がわからないしかし、私は
コントローラ
public ActionResult SeniorityList()
{
var employee = db.Employees.GroupBy(f => f.Facility.FacilityName).ToList();
return View(employee.ToList());
}
を試してきたものですそのための新しいクラスを作成する
public class GroupedItem
{
public string GroupName { set; get; }
public IEnumerable<Employee> Items { set; get; }
}
Nあなたのdb.Employees
コレクションでGroupByメソッドを使用し、その結果をGroupedItemクラスオブジェクトのコレクションに投影することができます。
var grouped = db.Employees
.GroupBy(f => f.Facility.FacilityName,i=>i,
(key,v)=>new GroupedItem { GroupName = key,Items = v})
.ToList();
return View(grouped);
grouped
変数の型はGroupedItem
のリストになりますと、私たちはビューにそれを渡しています。だからあなたのビューは、GroupedItem
クラスのコレクションに強く型付けされていることを確認してください。
@model IEnumerable<GroupedItem>
@foreach (var group in Model)
{
<h3>@group.GroupName</h3>
foreach (var p in group.Items)
{
<p>@p.Name</p>
}
}
ありがとう、私はサイトに新しいです、私を許してください – user5771351
このクラスはネストされたgroupByを許可することができますか、私は2つか3つのフィールドをグループ化 – user5771351
'.ToList()'を2回行う必要はありません。しかし、どのような場合でも、 '.ToDictionary()' - '.GroupBy()'は、IEnumerable> 'を返すようにデータをグループ化します。 –
model-view-controllerタグそのパターンについての質問ですASP.NET-MVCの実装には特定のタグがあります。 –