Yii2 ArrayDataProvider 模板

Yii2 ArrayDataProvider template

我尝试在每一行的字段中显示一个带有学生姓名的 gridview,同时在课程中显示动态列。

我有这样的问题:YII2 Activedataprovider custom template。我使用 ArrayDataProvider。但是我不明白,我该如何解决我的任务。

我需要一个带有代码或某种算法的示例。

screenshot

在这种情况下,你需要使用ArrayDataProvider,就像你说的那样。

  1. 您需要三个查询,students、lessons、notes 和 id relaccion for all。
  2. 控制器中创建关系的函数
  3. 在你看来你需要

    $provider = new ArrayDataProvider([
                        'allModels' => $MyCustomModel,
                        'pagination' => [
                            'pageSize' => 10,
                        ],
                    ]);
    
     foreach ($ArrayLessons as $content)
            {
                $columns[]=[
                         'label'=>$content,'format'=>'raw',
                         'value' => function($datas,$r,$t,$h){
                            return '10,11, the exam note';
                    }
                     ];                
            }
    

    和回显

    echo GridView::widget([
                        'dataProvider' =>  $provider,
                        'id'=>'Provider_'.$count,
                        'columns' =>$columns,
                        'pjax' => true,
                        'pjaxSettings' => ['options' => []],
                        'panel' => [
                            'heading' => '<h3 class="panel-title">'.$dat[2].'</h3>',
                        ],
                       'toolbar' => [
                        ['content'=>$repeat],
                        ], 
                        ]);