I have issue render datasource, after init and call through function, it doest not display data as i want
<mat-table class="pure-gap-table" qms-table [dataSource]="dataSource">
                <ng-container [matColumnDef]="getConstantColumnName.CHECK_BOX_COLUMN_NAME">
                    <mat-header-cell mat-header-cell *matHeaderCellDef>                    
                    </mat-header-cell>
                    <mat-cell *matCellDef="let element">                     
                    </mat-cell>
                </ng-container>
                <ng-container [matColumnDef]="getConstantColumnName.NAME_BOX_COLUMN_NAME">
                    <mat-header-cell mat-header-cell *matHeaderCellDef>
                        {{('COMMON.NAME' | translate)}}
                    </mat-header-cell>
                    <mat-cell *matCellDef="let element">                        
                    </mat-cell>
                </ng-container>          

                <ng-container>
                    <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
                </ng-container>
                <mat-row qms-table-row *matRowDef="let row; columns: displayedColumns;"
                    (click)="onClickTableRow(row)"></mat-row>
            </mat-table>
===========================            
  displayedColumns: string[] = [
        Constants.columnName.CHECK_BOX_COLUMN_NAME,
        Constants.columnName.NAME_BOX_COLUMN_NAME
  ]        
   dataSource = new MatTableDataSource<ChemicalSubstanceLocationModel>();

    ngOnInit(): void {   

        combineLatest([
            this.globalService.echa_substances$,
            this.globalService.getChemicalDBConfigurationByNames([
                Constants.CheckMixturesChemicals
            ])
        ])
            .pipe(takeUntil(this.ngUnsubscribe))
            .subscribe(([substanceFromECHAPIC, configs]) => {
                this.substanceFromECHAPIC = substanceFromECHAPIC;
                this.isCheckMixturesChemical = configs.find(
                    (item) => item.name === Constants.CheckMixturesChemicals
                )?.status;
                this._getDataChemical();
            });
    }
    private async _getDataChemical() {
        this.isShowLoading = true;
        const requestSearch: SelectChemicalRequestModel = { ...this.request };
        let dataRes = new EnumrablePage<ChemicalSubstanceModel>();
        if (this.isOffline) {
            dataRes = await this.selectChemicalPopupOfflineService.searchChemical(this.request);
        } else {
            dataRes = await this.sdsService.getSdsList(requestSearch).toPromise();
        }
        if (this.modeGlobal && environment.sdsPortalAdmin55Enable) {
            dataRes = SdsFunction.makeDataListChemicalSubstanceGlobal(dataRes);
        }
        const processedData = JSON.parse(JSON.stringify(dataRes.pageData));
        let listMixturesChemical = new Array<MixturesChemical>();
        (processedData || []).forEach((item) => {
            item.isPortal = this.request.isSdsPortal && !this.request.isSdsPortalSecond;
            item.isPortalSecond = false;
            if (!item.isPortal && !item.isPortalSecond) {
                const chemicalSubstanceForBL: ChemicalSubstanceForBlackList = {
                    name: item.name,
                    casNumber: item.casNumber,
                    ecNumber: item.ecNumber,
                    chemicalSubstanceEntityId: item.entityId,
                    chemicalComposition: listMixturesChemical
                        ? listMixturesChemical.find(
                            (mc) =>
                                mc.chemicalSubstanceEntityId === item.entityId
                        )?.listChemicalComposition
                        : [],
                    id: item.id
                };
                const listSubstanceFromECHAPIC =
                    commonFunction.getBlackListByChemicalSubstance(
                        this.isCheckMixturesChemical,
                        chemicalSubstanceForBL,
                        this.substanceFromECHAPIC
                    );
                item.isBlackList = !!(
                    listSubstanceFromECHAPIC && listSubstanceFromECHAPIC.length
                );
                const lstNameOfBackList = [
                    ...new Set(
                        listSubstanceFromECHAPIC.map(
                            (item) => item.blackListName
                        )
                    )
                ];
                item.blackListToolTip = lstNameOfBackList.join(', ');
            }
        });
        this.dataSource.data = processedData;
        this.totalCount = dataRes.totalCount;
        this._selectSubstance();
        this.isShowLoading = false;
        this.ref.markForCheck();
    }