Datatable Footer


Topic: Datatable Footer

stokkup2313 pro premium priority asked 3 years ago

Expected behavior when i filter the data, i need to be able to retrieve the updated json. my table source data is set (example): this.datasource = [ {id: 314, owner_id: 307, client_id: 307, brand: "SoCal", product_name: "SC3000",cost:1},{id: 315, owner_id: 307, client_id: 307, brand: "SoCal", product_name: "SC3000",cost: 4},{id: 316, owner_id: 309, client_id: 307, brand: "SoCal", product_name: "SC3000",cost: 5},{id: 317, owner_id: 304, client_id: 307, brand: "SoCal", product_name: "SC3000",cost: 6}]

If i filter by owner_id and value 307, my data shows only 2 rows. how can i retrieve the updated datasource json of it (which contains something like this): [ {id: 314, owner_id: 307, client_id: 307, brand: "SoCal", product_name: "SC3000",cost:1},{id: 315, owner_id: 307, client_id: 307, brand: "SoCal", product_name: "SC3000",cost: 4}? The reason i need this update data source is so i can have a method that will add the cost field and display in the footer .

Is there a specific variable that contains the filtered datasource?


Arkadiusz Idzikowski staff answered 3 years ago

@stokkup2313 Filtered data is the data array returned by the mdbTable directive (the one you use in ngFor to generate table rows). If you use the data table with a search example from our example, then you can add a console.log to see that this value is changing when you use search method:

  search(event: Event): void {
    const searchTerm = (event.target as HTMLInputElement).value;
    this.table.search(searchTerm);
    console.log('filtered data', this.table.data);
  }

stokkup2313 pro premium priority commented 3 years ago

@Arkadiusz Idzikowski this works now the only thing i notice, is that if i have pagination: this.table.data returns only the page that i am on. How do i ensure that it returns everything?


stokkup2313 pro premium priority commented 3 years ago

just to give you some background, I am trying to pass this to my export to excel method that i created and all i need is for all the data to be in there (the table can still be paginated just need pass the complete filtered to my method.


Arkadiusz Idzikowski staff commented 3 years ago

@stokkup2313 I'm afraid it is not possible to get all the data in this case because the component returns only the data that is displayed in the table.

I added a task for that and we will check if we can add an output event that will be helpful for such a use case.


stokkup2313 pro premium priority commented 3 years ago

@Arkadiusz Idzikowski then is it possible to have 'ALL' as part of the pagination list?


Arkadiusz Idzikowski staff commented 3 years ago

@stokkup2313 This feature is already on our to-do list but has not been implemented yet.


Please insert min. 20 characters.

FREE CONSULTATION

Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.

Status

Answered

Specification of the issue
  • User: Pro
  • Premium support: Yes
  • Technology: MDB Angular
  • MDB Version: MDB5 2.1.0
  • Device: Desktop
  • Browser: Chrome
  • OS: MacOS
  • Provided sample code: No
  • Provided link: No