Eu tenho um componente com uma dataTable que implementa a interface, a seguir:
declare interface DataTable {
  headerRow: string[];
  footerRow: string[];
  dataRows: String [] []; //Uma matriz de strings com cada linha sendo uma linha da tabela.
}
Minha classe possui os atributos:
export class UserListComponent implements OnInit, AfterViewInit {
    public dataTable: DataTable;
    public userList: Object[]; //Array de objetos
...
Eu preencho as linhas da tabela com um array de objetos vindo de uma requisição http através da classe de serviços.
 ngOnInit() {
       this._userListService
            .getList()
            .subscribe(res => {
                this.userList = res; // aqui é retornado pelo serviço uma lista de objetos
                }, error => console.log(error),
                () => 
                {
           //aqui eu transformo a lista de objetos numa matriz de linhas databela
                    let arr:string[][] = [];
                    this.userList.forEach(p => {
                        var arr2: string[] = [];
                        for(let key in p){
                            arr2.push(p[key].toString());
                        }
                        arr.push([].concat(arr2));
                    });
                    this.dataTable = {
                        headerRow: [ 'Name', 'Position', 'Office', 'Age', 'Date', 'Actions' ],
                        footerRow: [ 'Name', 'Position', 'Office', 'Age', 'Start Date', 'Actions' ],
                        dataRows: [].concat(arr) //Aqui eu associo a matriz transformada às linhas da tabela
                    } 
                }
            );
E no template:
  <tr *ngFor="let row of dataTable.dataRows">
            <td>{{row[0]}}</td>
            <td>{{row[1]}}</td>
            <td>{{row[2]}}</td>
            <td>{{row[3]}}</td>
            <td>{{row[4]}}</td>
....
Quando acesso a página, aparece no console a seguinte mensagem de erro> ERROR TypeError: Cannot read property 'dataRows' of undefined
Onde eu errei?