ノックアウト foreach データ バインドを使用して .Net グループ化を反復する方法を理解しようとしています。私が抱えている問題は、JSON にシリアル化された IGrouping の .Net コレクションを反復処理する方法がわからないことです...
サーバー側には、次のような .Net オブジェクトがあります。
public class BookingResult
{
public IEnumerable<IGrouping<DateTime, BookingLeg>> Grouped { get; set; }
}
public class BookingLeg
{
public string DepartureDate { get; set; }
public string ArrivalDate { get; set; }
public string Name { get; set; }
public DateTime StartDate { get; set; }
}
そして、エンティティGrouped
のコレクションを. 次に、 JSON を使用してエンティティを返します。プロパティ用に生成された JSON は次のようになります (生成されたものの概要をわかりやすくするために、ノードを折りたたんだり展開したりしています)。BookingLeg
StartDate
BookingResult
Grouped
クライアントでやりたいことは、テンプレートを作成し、キーをリスト ヘッダーとして出力するノックアウト foreach バインディングにバインドし、そのキーのすべての値について、値から詳細を出力することです。次のようになります。
01/01/2012
- Transfer
- Flight
- Transfer
03/01/2012
- Transfer
- Cruise
...
私はこれを次のようにしようとしました:
<ul data-role="listview" data-bind="foreach: Grouped">
<li data-role="list-divider"><span data-bind="text: Key"></span></li>
<li data-bind="text: Name, click: $parent.getBookingLegDetail"></li>
</ul>
上記が間違っていることはわかっています.1つは、グループ化されたキーが存在しないことです。
テンプレートを作成して、グループ化のキーと値をリストに正しく出力する方法を知っている人はいますか? ところで、ここではjquery mobileも使用しています(したがって、データロールのものです)。
ありがとう!
ジェームズ