Hallo, ich habe Probleme bei der Anzeige von Daten in einem kendo ui grid
. Es funktioniert gut, wenn ich das Modul direkt bei Start der Anwendung geladen werden, aber wenn ich versuche es über verzögertes Laden i diesen Fehler zu laden:Probleme mit einem faulen Laden Kendo-Gitter
Cannot set property 'stack' of undefined
Wenn ich das Kendo Gitter aus meinem html entferne dann lädt er den Rest die Seite fein, aber mit dem Raster erzeugt es immer den obigen Fehler.
Ich gehe davon aus, dass das Problem ist, weil der Gürtel selbst bei der Ladezeit nicht identifiziert ist, aber ich weiß nicht wo oder wie es zu beheben ... Auch wenn einige andere Code-Schnipsel erforderlich sind werde ich sie später auf
HTML containg das Raster:
<kendo-grid [data]="gridData"
[pageSize]="displaySize"
[skip]="currentPage"
[pageable]="true"
[height]="200"
[sort]="sortArray"
[sortable]="{ mode: 'multiple' }"
(pageChange)="pageChange($event)"
(sortChange)="sortChange($event)">
<kendo-grid-column field="unit" title="Unit" width="100">
</kendo-grid-column>
<kendo-grid-column field="startingTime" title="Start Time" width="200">
</kendo-grid-column>
<kendo-grid-column field="endTime" title="End Time" width="200">
</kendo-grid-column>
<kendo-grid-column field="coilId" title="Id" width="200">
</kendo-grid-column>
<kendo-grid-column field="thicknes" title="Thicknes" width="200">
</kendo-grid-column>
</kendo-grid>
Grid-Modul:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { GridModule } from '@progress/kendo-angular-grid';
import {LoadCoil} from "./dataLoadService/loadCoil.service";
import {GridComponent} from "./grid.component";
import {RouterModule} from "@angular/router";
export const routerConfig = [{
path: '',
component: GridComponent
}];
@NgModule({
declarations: [
GridComponent
],
imports: [
CommonModule,
FormsModule,
HttpModule,
RouterModule.forChild(routerConfig)
],
exports : [GridComponent],
providers: [LoadCoil],
bootstrap: []
})
export default class AngGridModule { }
Grid-Komponente:
public gridData: GridDataResult ;
constructor(private _loadCoil : LoadCoil){
}
ngOnInit() : void{
alert("onInit");
this._loadCoil.getAllCoils().subscribe(coils =>{ this.coils = coils;
this.gridData = {
data: this.coils.slice(this.currentPage, this.currentPage + this.displaySize),
total: this.coils.length};
alert(this.coils.length);
for(let i = 0; i < this.coils.length; i++){
let isFound = false;
for (let j = 0; j < this.dropDownArray.length; j++){
if (this.dropDownArray[j] == this.coils[i].unit){
isFound = true;
break;
}
}
if(!isFound){
this.dropDownArray.push(this.coils[i].unit);
}
}
});
}
Haupt App-Modul:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import {RouterModule} from "@angular/router";
import { GridModule } from '@progress/kendo-angular-grid';
export const routeConfig = [{
path: 'grid',
loadChildren: './angGrid.module'
}];
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule, RouterModule.forRoot(routeConfig)
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
einfach das Problem zu erinnern, tritt nur, wenn ich zu faul Laden für mein Modul eingeschaltet, wenn ich es bei App laden starte es funktioniert.