FlexGrid は、CollectionView を使用したグループ化をサポートします。グループ化を有効にするには、GroupAsync メソッドを追加できます。 GroupAsyncメソッドを使用すると、指定したグループパスに従ってコレクションビューをグループ化できます。ユーザーは、グループ行内の任意の場所をタップすることで、FlexGrid 内のグループを展開または折りたたむことができます。
次の図は、これらのプロパティを設定した後の FlexGrid を示しています。
次のコード例は、FlexGridにグループ化を設定する方法を示します。この例では、「クイックスタート」セクションで作成したサンプルを使用しています。
CS |
コードのコピー
|
---|---|
using C1.CollectionView; using C1.iOS.Grid; public partial class ViewController : UIViewController { C1CollectionView<Customer> _collectionView; public ViewController(IntPtr handle) : base(handle) { } public override void ViewDidLoad() { base.ViewDidLoad(); var task = UpdateVideos(); } private async Task UpdateVideos() { var data = Customer.GetCustomerList(100); _collectionView = new C1CollectionView<Customer>(data); await _collectionView.GroupAsync(c => c.Country); Grid.AutoGenerateColumns = false; Grid.Columns.Add(new GridColumn { Binding = "Active", Width = new GridLength(60) }); Grid.Columns.Add(new GridColumn { Binding = "Name", Width = GridLength.Star }); Grid.Columns.Add(new GridColumn { Binding = "OrderTotal", Width = new GridLength(110), Format = "C", Aggregate = GridAggregate.Sum, HorizontalAlignment = UIControlContentHorizontalAlignment.Right, HeaderHorizontalAlignment = UIControlContentHorizontalAlignment.Right }); Grid.GroupHeaderFormat = Foundation.NSBundle.MainBundle.LocalizedString("{name}: {value} ({count} items)", ""); Grid.ItemsSource = _collectionView; } partial void OnCollapseClicked(UIButton sender) { Grid.CollapseGroups(); } } |