2012-07-11 46 views
1

在敏捷工具包教程(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 

回答

0

Jobeet针对敏捷工具包4.1,并使用“setSource”,它是过时。

我想如果你用setModel替换setSource它应该没问题。

+0

感谢这就是我开始。该CRUD工程很好,但我想要完成2件事。 (1)消除额外的列,只显示ID,类型和位置字段,我也想(2)分页功能,除非我输入语法错误,它不起作用。 – mdietz 2012-07-11 18:38:56

+0

好吧我创建了唯一的列,只添加了一个新的模型,只有我想从数据库中显示的字段。我仍然坚持如何让addPaginator类为CRUD示例工作 – mdietz 2012-07-11 18:52:53

+1

好吧,我知道了,它比我想象的更简单。我只需要$ jobCRUD-> grid-> addPaginator(3):)谢谢 – mdietz 2012-07-11 19:08:02

相关问题