アジャイルツールキットチュートリアル(Jobeet)では、クイックデータモデル(ページ3)をセットアップしましたが、CRUDテストページで見栄えがします。test.phpファイルのコード行を変更しようとしました。問題は、ページネーター、コード行を追加すると、グリッド内のデータが消えてしまうことです。これは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