1

アジャイルツールキットチュートリアル(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
4

1 に答える 1

0

Jobeet は Agile Toolkit 4.1 用であり、廃止された「setSource」を使用します。

setSource を setModel に置き換えれば問題ないと思います。

于 2012-07-11T17:14:18.377 に答える