单个模板中的“物料角度多重数据”表数据源+“物料角度多重数据”表“找不到具有ID的列”

时间:2019-01-31 11:44:48

标签: angular-material datasource angular-material2 mat-table

在单个页面中,我想在选项卡中创建两个表。选项卡工作正常。如果我在html中注释了任何表,则单个表正在加载,并且我尝试使用consol.table来获取数据,该数据也能正常工作,但是在html中,它给出了错误:

  

单一模板中的材质Anguler Mutliple表数据源+材质Anguler Mutliple表“找不到具有ID的列”

//表1

<table mat-table [dataSource]="dataSource" class="table" matSort></table>

//表2

<table mat-table [dataSource]="dataSource2" class="table" matSort></table>

// TS文件ts文件中的材料钓鱼者代码

import { Component, OnInit, ViewChild } from '@angular/core';
import { DataSource } from '@angular/cdk/table';
import { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';
import { SelectionModel } from '@angular/cdk/collections';


export interface Health_Center_Site {
  value: string;
  viewValue: string;
}


@Component({
  selector: 'app-interaction',
  templateUrl: './interaction.component.html',
  styleUrls: ['./interaction.component.scss']
})
export class InteractionComponent implements OnInit {
  Health_Center_Sites: Health_Center_Site[] = [
    { value: '2 Gotham', viewValue: '2 Gotham' },
    { value: 'Astoria Health Center', viewValue: 'Astoria Health Center' },
    { value: 'Bushwick Health Center', viewValue: 'Bushwick Health Center' },
    { value: 'Corona Health Center', viewValue: 'Corona Health Center' },
    { value: 'Crown Heights Health Center', viewValue: 'Crown Heights Health Center' },
    { value: 'East Tremont Health Center', viewValue: 'East Tremont Health Center' },
    { value: 'Fort Greene Health Center', viewValue: 'Fort Greene Health Center' },
    { value: 'Homecrest Health Center', viewValue: 'Homecrest Health Center' },
    { value: 'Morrisania Health Center', viewValue: 'Morrisania Health Center' },
    { value: 'Parsons Health Center', viewValue: 'Parsons Health Center' },
    { value: 'Pop-up LIC', viewValue: 'Pop-up LIC' },
    { value: 'Riverside Health Center', viewValue: 'Riverside Health Center' }
  ];

  panelOpenState = false;

  displayedColumns: string[] = ['Contacted_On','Contacted_By','Mode_of_Contact','Time_Spend','Outcome','Outcome_Reason','Comments','follow_up_Date','action'];
  dataSource = new MatTableDataSource(ELEMENT_DATA);


  displayedColumns2: string[] = ['Transaction','Time_in_source_status','Last_Assignee','Transaction_Date' ];
  dataSource2 = new MatTableDataSource(ELEMENT_DATA2);




  applyFilter(filterValue: string) {
    this.dataSource.filter = filterValue.trim().toLowerCase();
  }
  @ViewChild(MatPaginator) paginator: MatPaginator;
  @ViewChild(MatSort) sort: MatSort;


  constructor() { }

  ngOnInit() {
    console.table(ELEMENT_DATA2);
  }

}




export interface ActivityDetailsDataTable {
  Contacted_On: string;
  Contacted_By: string;
  Mode_of_Contact: string;
  Time_Spend: string;
  Outcome: string;
  Outcome_Reason: string;
  Comments: string;
  follow_up_Date: string;
  action: boolean;
}
const ELEMENT_DATA: ActivityDetailsDataTable[] = [
  { Contacted_On: '10/19/2018', Contacted_By: 'Kagno, Natalya', Mode_of_Contact: 'Call', Time_Spend: '1:00 Hrs', Outcome: 'Not Started', Outcome_Reason: 'Open Enrollment Closed, Special Exception Do Not Apply', Comments: 'Client did not have childs ss number on hand', follow_up_Date: '10/19/2018    ', action: true, }
];



export interface TransactionDetailsDataTable {
  Transaction: string;
  Time_in_source_status: string;
  Last_Assignee: string;
  Transaction_Date: string;
}
const ELEMENT_DATA2: TransactionDetailsDataTable[] = [
  { Transaction: 'Inprogress >> Complete    ', Time_in_source_status: '13:30', Last_Assignee: 'Kagno, Natalya', Transaction_Date: '08/18/2018' }
];

1 个答案:

答案 0 :(得分:0)

使用此显示格式

对于表1

<tr mat-header-row *matHeaderRowDef="displayedColumns2"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns2;"></tr>

表2

<tr mat-header-row *matHeaderRowDef="displayedColumns2"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns2;"></tr>