Ignite UI for Angular 9.1.2 バージョン時点での情報に基づいています。
IgxGrid では、transactions プロパティ(igxTransactionService)の getAggregatedChanges メソッドを利用することで編集内容(トランザクション)を取得することができます。
予め、providers を利用して、IgxGrid に igxTransactionService を共有しておきます。
import { IgxGridTransaction, IgxTransactionService } from 'igniteui-angular';
@Component({
providers: [{ provide: IgxGridTransaction, useClass: IgxTransactionService }],
selector: 'app-grid-with-transactions',
template: '<ng-content></ng-content>'
})
export class GridWithTransactionsComponent implements OnInit {
...
}
そして、IgxGrid から次の様に getAggregatedChanges メソッドを呼び出します。
onClick(grid: IgxGridComponent) {
const transactions = grid.transactions.getAggregatedChanges(false);
console.log(transactions);
}
getAggregatedChanges メソッドの引数に false を指定すると、編集されたセル単位でトランザクション情報を取得することができます。引数に true を指定すると、行単位にトランザクションをまとめることができます。
リファレンス
- Grid 一括編集とトランザクション
- トランザクション サービス クラス階層
- IgxTransactionService – getAggregatedChanges メソッド