import {Component, OnInit} from '@angular/core'; import {DatatableFrankService} from './datatable-frank.service'; declare var componentHandler: any; @Component( { selector: 'datatable_frank', template: `

DataTable Component

Input is not a number!
{{key}}
{{ member[key] }}
`, styles: [` .wrapper{ height: 500px; overflow: scroll; } `] }) export class DatatableFrankComponnet implements OnInit { members = []; columnKeys = []; rows = [ { name: 'Austin', gender: 'Male', company: 'Swimlane' }, { name: 'Dany', gender: 'Male', company: 'KFC' }, { name: 'Molly', gender: 'Female', company: 'Burger King' }, ]; columns = [ { prop: 'id' }, { name: 'firstName' }, { name: 'lastName' }, { name: 'city' }, { name: 'street' }, { name: 'zipCode' }, { name: 'email' }, { name: 'date' } ]; tmpResults = []; constructor( private dataService: DatatableFrankService ) { } ngOnInit() { this.members = this.dataService.getAllDataObjects( 10 ); this.columnKeys = Object.keys( this.members[0] ); this.rows = this.members; var results = []; for ( var i = 0; i < 100; i++ ) { results.push( { id: i, name: 'name ' + i, gender: 'gender' + i }) } this.rows = results; for ( var i = 0; i < 10000; i++ ) { this.tmpResults.push( { id: i, name: 'name ' + i, gender: 'gender' + i }) } } ngAfterViewInit() { componentHandler.upgradeDom(); } changeRows( rows ) { this.rows = this.tmpResults; } }