กำหนด Pagination Param สำหรับ Multiple GridView ใน Yii Framework 2

ปัญหาอย่างหนึ่งของการสร้าง GridView หลายๆ ตัวในหน้าเดียวกันคือเมื่อมีการเลือก หน้า (Pagination) ทุกๆ GridView จะเปลี่ยนหน้าเหมือนกันหมด ในบทเรียนรู้นี้เราจะมากำหนด Page Param แยกอิสระต่อกัน เพื่อให้เวลาเลือกหน้าในแต่ละ GridView ไม่กระทบกัน โดยสามารถตั้งค่าผ่าน DataProvider ดังต่อไปนี้
$dataProvider = new ActiveDataProvider([
'query' => LatestThread::find()->orderBy(['sorting' => SORT_DESC]),
'sort' => [
'sortParam' => 'all-sort',
],
'pagination' => [
'pageSize' => 100,
'pageParam' => 'all-post',
],
]);
$dataProviderFreelance = new ActiveDataProvider([
'query' => LatestThread::find()->where(['forum_id' => 2])->orderBy(['sorting' => SORT_DESC]),
'sort' => [
'sortParam' => 'freelance-sort',
],
'pagination' => [
'pageSize' => 100,
'pageParam' => 'freelance-post'
],
]);
หรือกำหนดลักษณะนี้ก็ได้
$DataProvider->pagination->pageParam = 'all-post';
$DataProvider->sort->sortParam = 'all-sort';
$DataProvider2->pagination->pageParam = 'freelance-post';
$DataProvider2->sort->sortParam = 'freelance-sort';
เพียงเท่านี้ก็ทำให้การเลือกดู Page แยกอิสระต่อกันได้แล้ว
ติดปัญหาตอนทำตาม?
ถามในชุมชน
ความคิดเห็น (0)
ยังไม่มีความคิดเห็น — เริ่มคุยเป็นคนแรก ถามสิ่งที่สงสัย หรือแชร์ประสบการณ์ของคุณ
เข้าสู่ระบบเพื่อร่วมแสดงความคิดเห็น
เข้าสู่ระบบ