Xuni コントロール > FlexGrid > 機能 > グループ化 |
FlexGrid は、ICollectionView を使用したグループ化をサポートします。グループ化を有効にするには、1 つ以上の GroupDescription オブジェクトを CollectionView.groupDescriptions プロパティに追加します。GroupDescription オブジェクトは柔軟であり、値またはグループ化関数に基づいてデータをグループ化できます。
注意:ユーザーは、グループ行をタップしてまたは展開/折りたたみアイコンを使用してグループを展開と折りたたむことができます。 |
次の図は、これらのプロパティを設定した後の FlexGrid を示しています。
次のコード例は、FlexGridにグループ化を設定する方法を示します。この例では、「クイックスタート」セクションで作成したサンプルを使用しています。
//必要なヘッダファイルをインポートします
import UIKit
import XuniFlexGridKit
class ViewController: UIViewController
{
//FlexGrid コントロールを初期化します
var grid = FlexGrid()
override func viewDidLoad()
{
super.viewDidLoad()
// ビューを読み込んだ後の追加セットアップを行います(通常は nib から)。
grid.isReadOnly = true
//データソースを接続します
grid.itemsSource = FlexGridDataSource.getCustomerData(10)
grid.autoGenerateColumns = true
grid.allowSorting = true
self.view.addSubview(grid)
let gd = XuniPropertyGroupDescription(property: "country")
grid.collectionView.groupDescriptions.addObject(gd)
}
override func viewDidLayoutSubviews()
{
super.viewDidLayoutSubviews()
grid.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height/3)
}
}
//必要なヘッダファイルをインポートします
#import "ViewController.h"
#import <XuniFlexGridKit/XuniFlexGridKit.h>
#import <XuniCoreKit/XuniCoreKit.h>
#import "FlexGridDataSource.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// ビューを読み込んだ後の追加セットアップを行います(通常は nib から)。
//FlexGrid コントロールを初期化します
FlexGrid *grid = [[FlexGrid alloc] init];
//データソースを接続します
grid.itemsSource = [FlexGridDataSource demo];
grid.autoGenerateColumns = true;
grid.allowSorting = true;
self.view = grid;
XuniPropertyGroupDescription *gd = [[XuniPropertyGroupDescription alloc]initWithProperty:@"Country"];
[grid.collectionView.groupDescriptions addObject:gd];
}
@end