示例#1
0
 /**
  * Creates column objects and initializes them.
  */
 protected function initColumns()
 {
     if ($this->_columns) {
         foreach ($this->_columns as $name => $col) {
             if (is_string($col)) {
                 $column = $this->createDataColumn($col);
             } else {
                 $column = Yii::createObject(array_merge($col, ['class' => empty($col['class']) ? DataColumn::className() : __NAMESPACE__ . '\\' . $col['class'], 'grid' => $this]));
             }
             if (!$column->visible) {
                 unset($this->_columns[$i]);
                 continue;
             }
             $this->_columns[$i] = $column;
         }
     }
     if ($this->_columns) {
         foreach ($this->_columns as $column) {
             $column->init();
             $filterValue = $this->filter && $column->name && isset($this->filter[$column->name]) ? $this->filter[$column->name] : null;
             $this->filterPrepared[$column->name] = $column->prepareFilterValue($filterValue);
         }
     }
 }