CDataColumn
| Пакет | zii.widgets.grid |
|---|---|
| Наследование | class CDataColumn » CGridColumn » CComponent |
| С момента | 1.1 |
| Исходный код | framework/zii/widgets/grid/CDataColumn.php |
Должен быть указан либо имя, либо значение. Первый указывает имя атрибута данных, а второй — выражение PHP, значение которого должно быть отображено вместо него.
Свойство sortable определяет, можно ли сортировать представление сетки по этому столбцу. Обратите внимание, что имя всегда должно быть задано, если столбец должен быть сортируемым. Значение имени будет использовано CSort для отображения кликабельной ссылки в ячейке заголовка для запуска сортировки.
Общественные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| cssClassExpression | строка | выражение PHP, которое вычисляется для каждой ячейки данных, и результат которого используется в качестве имени класса CSS для ячейки данных. | CGridColumn |
| filter | смешанное | код HTML, представляющий поле фильтра (например, текстовое поле, раскрывающийся список), используемое для этого столбца данных. | CDataColumn |
| filterCellContent | строка | Возвращает содержимое ячейки фильтра. | CDataColumn |
| filterHtmlOptions | массив | параметры HTML для тега ячейки фильтра. | CGridColumn |
| footer | строка | текст ячейки подвала. | CGridColumn |
| footerCellContent | строка | Возвращает содержимое ячейки подвала. | CGridColumn |
| footerHtmlOptions | массив | параметры HTML для тега ячейки подвала. | CGridColumn |
| grid | CGridView | объект представления сетки, который владеет этим столбцом. | CGridColumn |
| hasFooter | булево | имеет ли этот столбец ячейку подвала. | CGridColumn |
| header | строка | текст ячейки заголовка. | CGridColumn |
| headerCellContent | строка | Возвращает содержимое ячейки заголовка. | CDataColumn |
| headerHtmlOptions | массив | параметры HTML для тега ячейки заголовка. | CGridColumn |
| htmlOptions | массив | параметры HTML для тегов ячейки данных. | CGridColumn |
| id | строка | Идентификатор этого столбца. | CGridColumn |
| name | строка | имя атрибута модели данных. | CDataColumn |
| sortable | булево | можно ли сортировать столбец. | CDataColumn |
| type | строка | тип значения атрибута. | CDataColumn |
| value | строка | выражение PHP, которое будет вычисляться для каждой ячейки данных с помощью evaluateExpression, и результат которого будет отображаться как содержимое ячейки данных. | CDataColumn |
| visible | булево | отображается ли этот столбец. | CGridColumn |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CGridColumn |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение по его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства null. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в null. | CComponent |
| asa() | Возвращает объект именованного поведения. | CComponent |
| attachBehavior() | Присоединяет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Присоединяет список поведений к компоненту. | CComponent |
| attachEventHandler() | Присоединяет обработчик событий к событию. | CComponent |
| canGetProperty() | Определяет, можно ли прочитать свойство. | CComponent |
| canSetProperty() | Определяет, можно ли установить свойство. | CComponent |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает присоединенное поведение. | CComponent |
| disableBehaviors() | Отключает все присоединенные к этому компоненту поведения. | CComponent |
| enableBehavior() | Включает присоединенное поведение. | CComponent |
| enableBehaviors() | Включает все присоединенные к этому компоненту поведения. | CComponent |
| evaluateExpression() | Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. | CComponent |
| getDataCellContent() | Возвращает содержимое ячейки данных. | CDataColumn |
| getEventHandlers() | Возвращает список присоединенных обработчиков событий для события. | CComponent |
| getFilterCellContent() | Возвращает содержимое ячейки фильтра. | CDataColumn |
| getFooterCellContent() | Возвращает содержимое ячейки подвала. | CGridColumn |
| getHasFooter() | Возвращает, имеет ли этот столбец ячейку подвала. Это определяется на основе того, установлено ли footer. | CGridColumn |
| getHeaderCellContent() | Возвращает содержимое ячейки заголовка. | CDataColumn |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, имеет ли именованное событие присоединенные обработчики. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | Инициализирует столбец. | CDataColumn |
| raiseEvent() | Вызывает событие. | CComponent |
| renderDataCell() | Отображает ячейку данных. | CGridColumn |
| renderFilterCell() | Отображает ячейку фильтра. | CGridColumn |
| renderFooterCell() | Отображает ячейку подвала. | CGridColumn |
| renderHeaderCell() | Отображает ячейку заголовка. | CGridColumn |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| renderDataCellContent() | Отображает содержимое ячейки данных. | CGridColumn |
| renderFilterCellContent() | Отображает содержимое ячейки фильтра. | CGridColumn |
| renderFooterCellContent() | Отображает содержимое ячейки подвала. | CGridColumn |
| renderHeaderCellContent() | Отображает содержимое ячейки заголовка. | CGridColumn |
Подробное описание свойств
filter свойство (доступно начиная с v1.1.1)
public mixed $filter;
HTML-код, представляющий поле ввода фильтра (например, текстовое поле, раскрывающийся список), используемый для этого столбца данных. Это свойство эффективно только при установке CGridView::filter. Если это свойство не задано, будет сгенерировано текстовое поле; Если это свойство является массивом, будет сгенерирован раскрывающийся список, который использует это значение свойства в качестве списка вариантов. Если вы не хотите фильтра для этого столбца данных, установите это значение в false.
filterCellContent свойство только для чтения (доступно начиная с v1.1.16)
public string getFilterCellContent()
Возвращает содержимое ячейки фильтра. Этот метод вернет filter как есть, если это строка. Если filter является массивом, предполагается, что это список опций, и будет отображен выпадающий список. В противном случае, если filter не равно false, отображается текстовое поле.
headerCellContent свойство только для чтения (доступно начиная с v1.1.16)
public string getHeaderCellContent()
Возвращает содержимое ячейки заголовка. Этот метод отобразит ссылку, которая может инициировать сортировку, если столбец сортируемый.
name свойство
public string $name;
Имя атрибута модели данных. Используется для сортировки столбцов, фильтрации и отображения соответствующего значения атрибута в каждой ячейке данных. Если value указано, оно будет использоваться для отображения ячейки данных вместо значения атрибута.
sortable свойство
public boolean $sortable;
Определяет, сортируется ли столбец. Если да, то ячейка заголовка будет содержать ссылку, которая может инициировать сортировку. По умолчанию true. Обратите внимание, что если name не задано или name не разрешено CSort, это свойство будет считаться false.
См. также
type свойство
public string $type;
тип значения атрибута. Это определяет, как значение атрибута форматируется для отображения. Допустимые значения включают те, которые распознаются CGridView::formatter, такие как: raw, text, ntext, html, date, time, datetime, boolean, number, email, image, url. Для получения более подробной информации см. CFormatter. По умолчанию используется 'text', что означает, что значение атрибута будет закодировано в HTML.
значение свойство
public string $value;
PHP-выражение, которое будет вычисляться для каждой ячейки данных с помощью evaluateExpression, и результат которого будет отображен как содержимое ячейки данных. В этом выражении вы можете использовать следующие переменные:
-
$rowномер строки (нумерация с нуля). -
$dataмодель данных для строки. -
$thisобъект столбца.
Подробное описание методов
getDataCellContent() метод (доступен начиная с версии v1.1.16)
public string getDataCellContent(integer $row) | ||
| $row | целое число | номер строки (нумерация с нуля) |
| {return} | строка | содержимое ячейки данных. |
public function getDataCellContent($row)
{
$data=$this->grid->dataProvider->data[$row];
if($this->value!==null)
$value=$this->evaluateExpression($this->value,array('data'=>$data,'row'=>$row));
elseif($this->name!==null)
$value=CHtml::value($data,$this->name);
return $value===null ? $this->grid->nullDisplay : $this->grid->getFormatter()->format($value,$this->type);
}
Возвращает содержимое ячейки данных. Этот метод вычисляет value или name и отображает результат.
getFilterCellContent() метод (доступен начиная с версии v1.1.16)
public string getFilterCellContent() | ||
| {return} | строка | содержимое ячейки фильтра |
public function getFilterCellContent()
{
if(is_string($this->filter))
return $this->filter;
elseif($this->filter!==false && $this->grid->filter!==null && $this->name!==null && strpos($this->name,'.')===false)
{
if(is_array($this->filter))
return CHtml::activeDropDownList($this->grid->filter, $this->name, $this->filter, array('id'=>false,'prompt'=>''));
elseif($this->filter===null)
return CHtml::activeTextField($this->grid->filter, $this->name, array('id'=>false));
}
else
return parent::getFilterCellContent();
}
Возвращает содержимое ячейки фильтра. Этот метод вернёт значение filter как есть, если оно является строкой. Если filter является массивом, предполагается, что это список опций, и будет отображён выпадающий список. В противном случае, если filter не равно false, отобразится текстовое поле.
getHeaderCellContent() метод (доступен начиная с версии v1.1.16)
public string getHeaderCellContent() | ||
| {return} | строка | содержимое ячейки заголовка. |
public function getHeaderCellContent()
{
if($this->grid->enableSorting && $this->sortable && $this->name!==null)
return $this->grid->dataProvider->getSort()->link($this->name,$this->header,array('class'=>'sort-link'));
elseif($this->name!==null && $this->header===null)
{
if($this->grid->dataProvider instanceof CActiveDataProvider)
return CHtml::encode($this->grid->dataProvider->model->getAttributeLabel($this->name));
else
return CHtml::encode($this->name);
}
else
return parent::getHeaderCellContent();
}
Возвращает содержимое ячейки заголовка. Этот метод отобразит ссылку, которая может инициировать сортировку, если столбец сортируемый.
init() метод
public void init() |
public function init()
{
parent::init();
if($this->name===null)
$this->sortable=false;
if($this->name===null && $this->value===null)
throw new CException(Yii::t('zii','Either "name" or "value" must be specified for CDataColumn.'));
}
Инициализирует столбец.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CDataColumn