如何使用选定列对网格进行分页

时间:2012-07-11 16:26:00

标签: php user-interface frameworks atk4

在Agile Toolkit Tutorial(Jobeet)中,我设置了快速数据模型(第3页),它与CRUD测试页面看起来很不错。我试图更改test.php文件中的一行代码。问题是当我添加了paginator,代码行时,网格中的数据消失了。这是paginator类的限制吗?是否有一种快速方法可以将此自定义网格分页?感谢。

原始代码显示添加addPaginator时未定义的方法错误,如下所示:

    $this->add('CRUD')->setModel('Category');
    //$this->add('CRUD')->setModel('Job');
    $jobCRUD=$this->add('CRUD');
    $jobCRUD->setModel('Job');
    $jobCRUD->addPaginator(3);  //This line causes an method not defined error

使用setSource修改的代码不显示错误,但显示空网格:

class page_test extends Page {
    function init(){
        parent::init();
        //$this->add('CRUD')->setModel('Category'); //Not needed for my example
        $grid=$this->add('Grid'); 
        //$grid->setModel('Job'); //Removed this to show custom columns
        $grid->addColumn('id');
        $grid->addColumn('type');
        $grid->addColumn('position');
        $grid->setSource('job');
        $grid->addPaginator(3);  //Added this to paginate the results (doesn't work & removes data)
    }
}

解决方案:

    $this->add('CRUD')->setModel('Category');
    //$this->add('CRUD')->setModel('Job');
    $jobCRUD=$this->add('CRUD');
    $jobCRUD->setModel('Job');
    $jobCRUD->grid->addPaginator(3); // This fixed the paginator

1 个答案:

答案 0 :(得分:0)

Jobeet适用于Agile Toolkit 4.1并使用过时的“setSource”。

我认为如果用setModel替换setSource,它应该没问题。