Skip to content

Setting custom page count #9

@hemantvikram

Description

@hemantvikram

Hi Team,

I 'm trying to set the page count but it is not working. Can you please review my code below and help me solve this problem?

HTML code
`
<smd-datatable #personDataTable [models]="models" [paginated]="true" [paginatorRanges]="[10, 25, 50, 100]" [responsive]="true">

    <smd-datatable-header [enableFilter]="true" filterLabel="Filter">

        <smd-datatable-action-button (onClick)="addSample($event)" label="Add"></smd-datatable-action-button>
        
        <smd-datatable-contextual-button (onClick)="editSample($event)" icon="edit" [minimunSelected]="1" [maxSelected]="1"></smd-datatable-contextual-button>

        <smd-datatable-contextual-button (onClick)="removeSample($event)" icon="delete" [minimunSelected]="1"></smd-datatable-contextual-button>

    </smd-datatable-header>

    <smd-datatable-column title="Id" field="id" sortable="true" numeric="true" titleTooltip="The identifier Tooltip"></smd-datatable-column>

    <smd-datatable-column title="Name" field="name" sortable="true" titleTooltip="Person name"></smd-datatable-column>

    <smd-datatable-column title="Salary" numeric="true" field="salary" sortable="true"></smd-datatable-column>

    <smd-datatable-column title="DOB" field="dob" sortable="true" [sortFn]="_sortByBirthDate" [filterFn]="_filterByBirthDate">
        <ng-template let-model="data">
            {{model.dob | date:'dd/MM/yyyy'}}
        </ng-template>
    </smd-datatable-column>

    <smd-datatable-column title="Gender" field="gender" titleTooltip="Gender">
        <template let-model="data">
            <md-icon>{{model.gender}}</md-icon>
        </template>
    </smd-datatable-column>
</smd-datatable>

`

TypeScript code
`
import { SmdDataTable } from '../shared/component/smd-datatable/datatable.component'
import { SmdPaginatorComponent, SmdPaginationModel } from '../shared/component/smd-paginator/paginator.component'
import { Result, PagedCollectionResult } from '../shared/base-result-type'

@component({
selector: 'person-list',
templateUrl: './person.component.html',
styleUrls: ['./person.component.css']
})

export class PersonListComponent {
@ViewChild("personDataTable") personDataTable: SmdDataTable;
models: Person[];
responsive: boolean = true;

ngOnInit() {
    this.personDataTable.paginatorComponent.currentPage.page = 1;
    this.personDataTable.paginatorComponent.selectedRange = 10;

    this.refreshList();
}

refreshList() {
    var searchFilter = new SearchFilter();
    searchFilter.pageNumber = this.personDataTable.paginatorComponent.currentPage.page;
    searchFilter.pageSize = this.personDataTable.paginatorComponent.selectedRange;

    this.personService.getAll(searchFilter)
        .then(result => {
            if (result.isSuccessful) {
                this.models = result.data;
                **this.personDataTable.paginatorComponent.count = result.totalRecords;**
            }
        });
}

constructor(private personService: PersonService) {
}

}
`

The bold area is where I'm trying to set the pagecount but it is not working.

Thanks,
Hemant.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions