Khaled Ayed
Khaled Ayed

Reputation: 1277

Cannot read property 'indexes' of undefined ngx-datatable

i use ngx-datatable version: 15.0.2 and Angular version: 8.1.0,

i have this error:

ngx-logger.js:852 2019-07-30T15:04:42.930Z ERROR [main.js:4696] TypeError: Cannot read property 'indexes' of undefined at DatatableComponent.get [as allRowsSelected] (index.js:3263) at Object.eval [as updateDirectives] (DatatableComponent.html:19)

This is an issue on Angular 8.1.0 and version 15.0.2 of this table. This was not an issue on Angular 7 and version 14 of this library.

this is my code:

 <ngx-datatable 
    *ngIf='!containerLoader && (containers | async)?.length!=0'
    class="bootstrap striped" 
    [rows]="containers|async" 
    [columnMode]="'force'" 
    [headerHeight]="50" 
    [footerHeight]="50" 
    [rowHeight]="'auto'" 
    [externalPaging]="true"
    [count]="page.totalElements"
    [offset]="page.pageNumber"
    [limit]="page.size"
    (page)='loadData($event)'
    [selectCheck]="true"
    [displayCheck]="displayCheck"
    [loadingIndicator]="loadingIndicator"
    >
        <ngx-datatable-column [width]="80" name="" prop="status">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <div *ngIf="row.progress && row.progress <100; else status">
                    <span class=" progress-{{row.progress}} progress-circle " 
                        [attr.data-sectionvalue]="row.uuid">
                    </span>
                </div>
                <ng-template #status>
                    <span class="{{value |state:'badge'}}" 
                        [attr.data-sectionvalue]="row.uuid">
                    </span>
                </ng-template>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column [width]="200" name="Name" prop="name">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value}}</span>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column name="Memory" prop="package.memory_limit">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value |convert:2:true}}</span>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column name="Disk" prop="package.disk_size">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value |convert:2:true }}</span>
            </ng-template>
        </ngx-datatable-column>
        <ngx-datatable-column name="Created at" prop="created_at">
            <ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
                <span>{{value | date:"fullDate"}}</span>
            </ng-template>
        </ngx-datatable-column>
</ngx-datatable>

Upvotes: 0

Views: 2182

Answers (2)

Ghoul Ahmed
Ghoul Ahmed

Reputation: 4836

This is an issue #1725 for ngx-datatable, but it is open, so you have two choices, either wait for the next release 15.0.3 or use this temporal solution

npm install git+https://github.com/zackarychapple/ngx-datatable.git -S

Upvotes: 1

This is probably related to the below issue

https://github.com/swimlane/ngx-datatable/issues/1725

I managed to get my table displayed by setting

[selectAllRowsOnPage]="false"

Upvotes: 3

Related Questions