コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function buildCellView(CellView $view, ColumnInterface $column, array $options)
 {
     $parent = $view->column;
     // Set shared information from the header.
     // This information is not recomputed for better performance.
     // Each header is created once, but this method will be called
     // 5000 times for a grid with 500 rows!
     $view->vars = array_replace($view->vars, ['cell_attr' => $options['cell_attr'], 'unique_block_prefix' => $parent->vars['unique_block_prefix'], 'block_prefixes' => $parent->vars['block_prefixes'], 'cache_key' => $parent->vars['cache_key']]);
     $cells = [];
     $headers = $view->column->vars['_sub_headers'];
     /** @var CompoundColumn $column */
     foreach ($column->getColumns() as $subColumn) {
         $name = $subColumn->getName();
         $subView = $subColumn->createCellView($headers[$name], $view->source, $view->vars['row']);
         $subView->vars['compound'] = true;
         $cells[$name] = $subView;
     }
     return $view->value = $cells;
 }