良くはないだろうなぁと思いつつ、強制的に LightSwitch DataGrid でグループ化を試みました。
B <- C <- D という親子関係の Entities を用意し、
D の一覧を表示する SearchDs Screen 上の DataGrid で以下のように DataGridColumn を作成。
- B Name ("Other Screen Data..." で作成)
- C Name (C Summary)
- D Name
続いて、以下のように記述。
partial void SearchDs_Created()
{
this.FindControl("grid").ControlAvailable += (object sender, ControlAvailableEventArgs e) =>
{
grid = e.Control as DataGrid;
};
}
partial void Ds_Loaded(bool succeeded)
{
grid.Dispatcher.BeginInvoke(() =>
{
var pcv = new PagedCollectionView(grid.ItemsSource);
pcv.GroupDescriptions.Add(new PropertyGroupDescription("C.B.Name"));
grid.ItemsSource = pcv; ................................. (1)
});
}
(1) はやらない方が良いのでしょうがやってみました。
その結果は以下の通りです。
DataGrid の内容が表示される前に以下の様なエラーメッセージが出たり出なかったり。
このエラーは何が原因か不明。
あくまで試しにやってみたことですが、
それはやらない方が良い、こうやった方が良い、などの意見がありましたら、お願いします。