Topic: Dynamic Pagination on Large Tables
                  
                  rockycastaneda
                  priority
                  asked 4 years ago
                
*Expected behavior*Auto pagination and fetch of large tables. I have a table from an API in JSON format that is about 20000 records. Is there a way for mdbVUE to paginate through that in batches of say 5 rows per fetch? and dynamically fetch another 5 every change of page? I do not want the user to wait for it to load the entire 20000 records each time its shows the grid.
*Actual behavior*Unable to find a sample to do this
Resources (screenshots, code snippets etc.)
                      
                      Roman Tikhomirov
                      free
                        answered 1 year ago
                    
this works for me import React, { useState, useEffect } from 'react'; import BootstrapTable from 'react-bootstrap-table-next'; import paginationFactory from 'react-bootstrap-table2-paginator'; import axios from 'axios';
const YourComponent = () => { const [data, setData] = useState([]); const [totalPages, setTotalPages] = useState(0); const [currentPage, setCurrentPage] = useState(1); const [itemsPerPage, setItemsPerPage] = useState(5);
useEffect(() => { fetchData(); }, [currentPage, itemsPerPage]);
const fetchData = async () => {
    try {
      const response = await axios.get(/api/data?page=${currentPage}&size=${itemsPerPage});
      setData(response.data.data); // Assuming data is the key containing your records
      setTotalPages(response.data.totalPages);
    } catch (error) {
      console.error('Error fetching data:', error);
    }
  };
const columns = [ // Define your columns here ];
const options = { paginationSize: 4, pageStartIndex: 1, sizePerPage: itemsPerPage, totalSize: totalPages * itemsPerPage, };
return ( { if (type === 'pagination') { setCurrentPage(page); setItemsPerPage(sizePerPage); } }} /> ); };
export default YourComponent;
FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Answered
- ForumUser: Priority
 - Premium support: Yes
 - Technology: MDB Vue
 - MDB Version: MDB4 6.7.2
 - Device: macbook pro
 - Browser: chrome
 - OS: MacOS Catalina v 10.16.7
 - Provided sample code: No
 - Provided link: No
 
Mikołaj Smoleński staff commented 4 years ago
In the latest MDB5 Vue Datatable we have a
renderevent that emits on every page change. It can be useful in your case.Keep coding, Mikołaj from MDB
rockycastaneda priority commented 4 years ago
Any more examples other than what is already available on the docs?
Mikołaj Smoleński staff commented 4 years ago
Here are some more examples: https://mdbootstrap.com/snippets/?search=datatable&top=all
Keep coding, Mikołaj from MDB
launchbrigade priority commented 2 years ago
Did you ever solve this? Im looking to do the same thing with react
Bartosz Cylwik staff commented 2 years ago
Hi launchbrigade, I've seen you already asked our react team about that. Checkout the latest response:
https://mdbootstrap.com/support/react/datatables-dynamic-pagination-and-the-render-listener-in-react/