یک گرید ساده با قابلیت راست به چپ و پیجینگ در ری اکت
نویسنده: شهروزبذرافشان
تاریخ: ۱۴۰۰/۰۱/۲۴ ۱:۱۹
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
const columns = [
{
field: "fullname",
headerName: "First & last Name",
description: "name of user",
width: 50,
},
{
field: "age",
headerName: "Age",
description: "age of user",
width: 50,
renderCell:(info)=><strong>Age is : {info.data.age}</strong>
}
] ... const [rows,setRows] = useState([]); const [loading,setLoading] = useState(false); const [totalCount,setTotalCount] = useState(0);
const [filter,setFilter] = useState({ pageSize:10, pageNumber:1 });
const _fetchData = async () => { if (!active) return; //mock api, you can call your api then set data to table like commented line below return new Promise((resolve) => { setLoading(true); setTimeout(() => { setRows(data);// SetRows, note that data comes from api and must be array of objects setTotalCount(7);//=== set total page size for pagination part resolve(); setLoading(false); }, 2000); }); }
import Angrid from "rect-angrid";
...
_handlePageChange = (newPage)=>{
setFilter(p=>({...p,pageNumber:newPage}))
}
...
<AnGrid
loading={loading}
columns={columns}
rows={rows}
showRowNumber={true}
pageSize={filter.pageSize}
pageNumber={filter.pageNumber}
totalCount={totalCount}
onPageChange={_handlePageChange}
theme="dark"
minHeight={300}
emptyList={<strong>There Is No Info</strong>}
/>