Spec-Zone.ru › Yii 2.0

Класс yii\grid\GridView

Все классы | Свойства | Методы | События | Константы
Наследование yii\grid\GridView » yii\widgets\BaseListView » yii\base\Widget » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\base\ViewContextInterface
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/grid/GridView.php

Виджет GridView используется для отображения данных в виде таблицы.

Он предоставляет функции, такие как сортировка, страничная навигация, а также фильтрацию данных.

Пример базового использования:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'name',
        'created_at:datetime',
        // ...
    ],
]) ?>

Столбцы таблицы сетки настраиваются с помощью классов yii\grid\Column, которые настраиваются через $columns.

Внешний вид сетки может быть настроен с помощью большого количества свойств.

Для получения более подробной информации и использования GridView см. статью руководства о виджетах вывода данных.

Общедоступные свойства

Свойство Тип Описание Определено в
$afterRow Closure Анонимная функция, вызываемая один раз ПОСЛЕ отрисовки каждой модели данных. yii\grid\GridView
$autoIdPrefix строка Префикс для автоматически сгенерированных идентификаторов виджета. yii\base\Widget
$beforeRow Closure Анонимная функция, вызываемая один раз ДО отрисовки каждой модели данных. yii\grid\GridView
$behaviors yii\base\Behavior[] Список поведений, прикрепленных к этому компоненту yii\base\Component
$caption строка Заголовок таблицы грида yii\grid\GridView
$captionOptions массив Атрибуты HTML для элемента заголовка. yii\grid\GridView
$columns массив Конфигурация столбцов грида. yii\grid\GridView
$counter целое число Счётчик, используемый для генерации $id для виджетов. yii\base\Widget
$dataColumnClass строка Класс по умолчанию для столбцов данных, если имя класса не указано явно при конфигурировании столбца данных. yii\grid\GridView
$dataProvider yii\data\DataProviderInterface Источник данных для представления. yii\widgets\BaseListView
$emptyCell строка HTML-отображение, когда содержимое ячейки пустое. yii\grid\GridView
$emptyText строка|false HTML-содержимое, отображаемое, когда $dataProvider не содержит данных. yii\widgets\BaseListView
$emptyTextOptions массив Атрибуты HTML для пустого текста представления списка. yii\widgets\BaseListView
$filterErrorOptions массив Параметры для отображения каждого сообщения об ошибке фильтра. yii\grid\GridView
$filterErrorSummaryOptions массив Параметры для отображения сводки об ошибках фильтра. yii\grid\GridView
$filterModel yii\base\Model Модель, хранящая данные фильтра, введённые пользователем. yii\grid\GridView
$filterPosition строка Местоположение фильтров в представлении грида. yii\grid\GridView
$filterRowOptions массив Атрибуты HTML для элемента строки фильтра. yii\grid\GridView
$filterSelector строка Дополнительный jQuery селектор для выбора полей ввода фильтра. yii\grid\GridView
$filterUrl строка|массив URL для получения результата фильтрации. yii\grid\GridView
$footerRowOptions массив Атрибуты HTML для строки нижней части таблицы. yii\grid\GridView
$formatter массив|yii\i18n\Formatter Форматировщик, используемый для форматирования значений атрибутов модели в отображаемый текст. yii\grid\GridView
$headerRowOptions массив Атрибуты HTML для строки заголовка таблицы. yii\grid\GridView
$id строка Идентификатор виджета. yii\base\Widget
$layout строка Макет, определяющий, как должны быть организованы различные разделы представления списка. yii\grid\GridView
$options массив Атрибуты HTML для контейнерного тега представления грида. yii\grid\GridView
$pager массив Конфигурация виджета постраничной навигации. yii\widgets\BaseListView
$rowOptions массив|Closure Атрибуты HTML для строк тела таблицы. yii\grid\GridView
$showFooter логическое значение Показывать ли нижнюю часть таблицы грида. yii\grid\GridView
$showHeader логическое значение Показывать ли верхнюю часть таблицы грида. yii\grid\GridView
$showOnEmpty логическое значение Показывать ли представление грида, если $dataProvider возвращает данные. yii\grid\GridView
$sorter массив Конфигурация виджета сортировки. yii\widgets\BaseListView
$stack yii\base\Widget[] Виджеты, которые в данный момент отрисовываются (не закончены). yii\base\Widget
$summary строка HTML-содержимое, отображаемое в виде сводки представления списка. yii\widgets\BaseListView
$summaryOptions массив Атрибуты HTML для сводки представления списка. yii\widgets\BaseListView
$tableOptions массив Атрибуты HTML для элемента таблицы грида. yii\grid\GridView
$view yii\web\View Объект представления, который может быть использован для отрисовки представлений или файлов представления. yii\base\Widget
$viewPath строка Путь к представлению, который может быть добавлен в качестве префикса к относительному имени представления. yii\base\ViewContextInterface

Общедоступные методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путём клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т. е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в значение null. yii\base\Object
afterRun() Этот метод вызывается сразу после выполнения виджета. yii\base\Widget
attachBehavior() Присоединяет поведение к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
beforeRun() Этот метод вызывается непосредственно перед выполнением виджета. yii\base\Widget
begin() Начинает работу виджета. yii\base\Widget
behaviors() Возвращает список поведений, по которым должен вести себя этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
end() Заканчивает работу виджета. yii\base\Widget
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все присоединённые к этому компоненту поведения. yii\base\Component
getId() Возвращает идентификатор виджета. yii\base\Widget
getView() Возвращает объект представления, который может использоваться для отображения представлений или файлов представлений. yii\base\Widget
getViewPath() yii\base\ViewContextInterface
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, прикреплённый к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует таблицу. yii\grid\GridView
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
render() Отображает представление. yii\base\Widget
renderCaption() Отображает элемент подписи. yii\grid\GridView
renderColumnGroup() Отображает HTML группы столбцов. yii\grid\GridView
renderEmpty() Отображает HTML-контент, указывающий на отсутствие данных в списке представлений. yii\widgets\BaseListView
renderErrors() Отображает ошибки валидации модели фильтра. yii\grid\GridView
renderFile() Отображает файл представления. yii\base\Widget
renderFilters() Отображает фильтр. yii\grid\GridView
renderItems() Отображает модели данных для таблицы. yii\grid\GridView
renderPager() Отображает страницу. yii\widgets\BaseListView
renderSection() Отображает раздел указанного имени. yii\grid\GridView
renderSorter() Отображает сортировку. yii\widgets\BaseListView
renderSummary() Отображает сводку. yii\widgets\BaseListView
renderTableBody() Отображает тело таблицы. yii\grid\GridView
renderTableFooter() Отображает подвал таблицы. yii\grid\GridView
renderTableHeader() Отображает заголовок таблицы. yii\grid\GridView
renderTableRow() Отображает строку таблицы с заданной моделью данных и ключом. yii\grid\GridView
run() Выполняет виджет. yii\grid\GridView
setId() Устанавливает идентификатор виджета. yii\base\Widget
setView() Устанавливает объект представления, который будет использоваться этим виджетом. yii\base\Widget
trigger() Вызывает событие. yii\base\Component
widget() Создаёт экземпляр виджета и запускает его. yii\base\Widget

Защищённые методы

Метод Описание Определено в
createDataColumn() Создаёт объект yii\grid\DataColumn на основе строки в формате "атрибут:формат:метка". yii\grid\GridView
getClientOptions() Возвращает опции для виджета JS грида. yii\grid\GridView
guessColumns() Эта функция пытается угадать колонки для отображения из заданных данных, если колонки $columns не заданы явно. yii\grid\GridView
initColumns() Создаёт объекты колонок и инициализирует их. yii\grid\GridView

События

Событие Тип Описание Определено в
EVENT_AFTER_RUN yii\base\WidgetEvent Событие, поднимаемое сразу после выполнения виджета. (доступно с версии 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent Событие, поднимаемое непосредственно перед выполнением виджета. (доступно с версии 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event Событие, которое срабатывает при инициализации виджета с помощью init(). (доступно с версии 2.0.11) yii\base\Widget

Константы

Константа Значение Описание Определено в
FILTER_POS_BODY 'body' yii\grid\GridView
FILTER_POS_FOOTER 'footer' yii\grid\GridView
FILTER_POS_HEADER 'header' yii\grid\GridView

Подробности свойств

$afterRow общедоступное свойство

Анонимная функция, вызываемая после отрисовки каждой модели данных. Она должна иметь подобную сигнатуру, как $rowOptions. Результат выполнения функции будет отображен непосредственно.

public Closure $afterRow = null

$beforeRow общедоступное свойство

Анонимная функция, вызываемая перед отрисовкой каждой модели данных. Она должна иметь подобную сигнатуру, как $rowOptions. Результат выполнения функции будет отображен непосредственно.

public Closure $beforeRow = null

$caption общедоступное свойство

Заголовок таблицы грида

См. также $captionOptions.

public string $caption = null

$captionOptions общедоступное свойство

Атрибуты HTML для элемента заголовка.

См. также:

  • yii\helpers\Html::renderTagAttributes() для деталей по отрисовке атрибутов.
  • $caption
public array $captionOptions = []

$columns общедоступное свойство

Конфигурация колонок грида. Каждый элемент массива представляет конфигурацию одной колонки. Например,

[
    ['class' => SerialColumn::className()],
    [
        'class' => DataColumn::className(), // this line is optional
        'attribute' => 'name',
        'format' => 'text',
        'label' => 'Name',
    ],
    ['class' => CheckboxColumn::className()],
]

Если колонка класса yii\grid\DataColumn, элемент "class" можно опустить.

В качестве сокращения, может быть использована строка для указания конфигурации колонки, содержащей только атрибут, формат и/или метку: "attribute:format:label". Например, вышеуказанная колонка "имя" также может быть указана как: "name:text:Name". "Формат" и "метка" являются необязательными. Они примут значения по умолчанию, если отсутствуют.

Использование сокращённого формата для конфигурации колонок в простых случаях будет выглядеть так:

[
    'id',
    'amount:currency:Total Amount',
    'created_at:datetime',
]

При использовании $dataProvider с активными записями, можно отображать значения из связанных записей, например, атрибут name отношения author:

// shortcut syntax
'author.name',
// full syntax
[
    'attribute' => 'author.name',
    // ...
]
public array $columns = []

$dataColumnClass общедоступное свойство

Класс колонки данных по умолчанию, если имя класса не указано явно при конфигурировании колонки. По умолчанию 'yii\grid\DataColumn'.

public string $dataColumnClass = null

$emptyCell общедоступное свойство

HTML отображение, когда содержимое ячейки пустое. Это свойство используется для отображения ячеек без определённого содержимого, например, пустые ячейки подвала или фильтра.

Обратите внимание, что это не используется yii\grid\DataColumn, если элемент данных является null. В этом случае используется свойство nullDisplay свойства $formatter для обозначения пустого значения данных.

public string $emptyCell = '&nbsp;'

$filterErrorOptions общедоступное свойство

Опции для отображения каждого сообщения об ошибке фильтра. Это в основном используется yii\helpers\Html::error() при отображении сообщения об ошибке рядом с каждым полем ввода фильтра.

public array $filterErrorOptions = ['class' => 'help-block']

$filterErrorSummaryOptions общедоступное свойство

Опции для отображения сводки ошибок фильтра. См. yii\helpers\Html::errorSummary() для получения дополнительной информации об указании опций.

См. также renderErrors().

public array $filterErrorSummaryOptions = ['class' => 'error-summary']

$filterModel общедоступное свойство

Модель, которая хранит данные фильтра, введённые пользователем. Когда это свойство установлено, грид включит фильтрацию по колонкам. Каждая колонка по умолчанию будет отображать поле ввода текста в верхней части, в которое пользователи могут вводить данные для фильтрации.

Обратите внимание, что для отображения поля ввода для фильтрации, колонка должна иметь свойство yii\grid\DataColumn::$attribute, установленное и атрибут должен быть активным в текущей ситуации $filterModel или иметь yii\grid\DataColumn::$filter установленным в качестве HTML кода поля ввода.

Когда это свойство не установлено (null), функция фильтрации отключена.

public yii\base\Model $filterModel = null

$filterPosition общедоступное свойство

Определяет, должны ли фильтры отображаться в гриде. Допустимые значения:

  • FILTER_POS_HEADER: фильтры будут отображаться над ячейкой заголовка каждой колонки.
  • FILTER_POS_BODY: фильтры будут отображаться под ячейкой заголовка каждой колонки.
  • FILTER_POS_FOOTER: фильтры будут отображаться под ячейкой подвала каждой колонки.
public string $filterPosition = self::FILTER_POS_BODY

$filterRowOptions общедоступное свойство

Атрибуты HTML для элемента строки фильтра.

См. также yii\helpers\Html::renderTagAttributes() для деталей по отрисовке атрибутов.

public array $filterRowOptions = ['class' => 'filters']

$filterSelector общедоступное свойство

Дополнительный jQuery селектор для выбора полей ввода фильтра.

public string $filterSelector = null

$filterUrl общедоступное свойство

URL для возвращения результата фильтрации. yii\helpers\Url::to() будет вызван для нормализации URL. Если не задан, будет использоваться текущий action контроллера. Когда пользователь вносит изменения в любое поле фильтра, текущие данные фильтра будут добавлены в качестве параметров GET к этому URL.

public string|array $filterUrl = null

$footerRowOptions общедоступное свойство

Атрибуты HTML для строки подвала таблицы.

См. также yii\helpers\Html::renderTagAttributes() для деталей по отрисовке атрибутов.

public array $footerRowOptions = []

$formatter общедоступное свойство

Форматтер, используемый для форматирования значений атрибутов модели в отображаемые тексты. Это может быть либо экземпляр yii\i18n\Formatter, либо конфигурационный массив для создания экземпляра yii\i18n\Formatter. Если это свойство не установлено, будет использован компонент "форматтер" приложения.

public array|yii\i18n\Formatter $formatter = null

$headerRowOptions общедоступное свойство

Атрибуты HTML для строки заголовка таблицы.

См. также yii\helpers\Html::renderTagAttributes() для деталей по отрисовке атрибутов.

public array $headerRowOptions = []

$layout общедоступное свойство

Макет, определяющий, как различные разделы представления списка должны быть организованы. Следующие токены будут заменены соответствующим содержимым раздела:

  • {summary}: раздел сводки. См. renderSummary().
  • {errors}: сводка ошибок модели фильтра. См. renderErrors().
  • {items}: элементы списка. См. renderItems().
  • {sorter}: сортировщик. См. renderSorter().
  • {pager}: постраничная навигация. См. renderPager().
public string $layout = "{summary}\n{items}\n{pager}"

$options общественное свойство

Атрибуты HTML для тега контейнера представления таблицы. Элемент "tag" указывает имя тега контейнерного элемента и по умолчанию равен "div".

См. также yii\helpers\Html::renderTagAttributes() для получения подробной информации о том, как рендерятся атрибуты.

public array $options = ['class' => 'grid-view']

$rowOptions общественное свойство

Атрибуты HTML для строк тела таблицы. Это может быть либо массив, определяющий общие атрибуты HTML для всех строк тела, либо анонимная функция, которая возвращает массив атрибутов HTML. Анонимная функция будет вызываться один раз для каждой модели данных, возвращаемой $dataProvider. Она должна иметь следующий вид:

function ($model, $key, $index, $grid)
  • $model: текущая модель данных, которая рендерится
  • $key: значение ключа, связанное с текущей моделью данных
  • $index: индекс модели данных с нуля в массиве моделей, возвращенном $dataProvider
  • $grid: объект GridView

См. также yii\helpers\Html::renderTagAttributes() для получения подробной информации о том, как рендерятся атрибуты.

public array|Closure $rowOptions = []

$showFooter общественное свойство

Определяет, отображать ли секцию подвала таблицы сетки.

public boolean $showFooter = false

$showHeader общественное свойство

Определяет, отображать ли секцию заголовка таблицы сетки.

public boolean $showHeader = true

$showOnEmpty общественное свойство

Определяет, отображать ли представление сетки, если $dataProvider не возвращает данных.

public boolean $showOnEmpty = true

$tableOptions общественное свойство

Атрибуты HTML для элемента таблицы сетки.

См. также yii\helpers\Html::renderTagAttributes() для получения подробной информации о том, как рендерятся атрибуты.

public array $tableOptions = ['class' => 'table table-striped table-bordered']

Подробное описание методов

createDataColumn() защищённый метод

Создаёт объект yii\grid\DataColumn, основанный на строке в формате "attribute:format:label".

защищённый yii\grid\DataColumn createDataColumn ( $text )
$text строка

Строка спецификаций колонки

return yii\grid\DataColumn

Экземпляр колонки

throws yii\base\InvalidConfigException

если спецификация колонки некорректна

getClientOptions() защищённый метод

Возвращает опции для виджета JS грида.

защищённый массив getClientOptions ( )
return массив

Опции

guessColumns() защищённый метод

Эта функция пытается определить колонки для отображения из предоставленных данных, если $columns не указаны явно.

защищённый void guessColumns ( )

init() публичный метод

Инициализирует грид-вью.

Этот метод инициализирует необходимые значения свойств и создаёт объекты $columns.

публичный void init ( )

initColumns() защищённый метод

Создаёт объекты колонок и инициализирует их.

защищённый void initColumns ( )

renderCaption() публичный метод

Отображает элемент заголовка.

публичный булево|строка renderCaption ( )
return булево|строка

Отображённый элемент заголовка или false, если элемент заголовка не должен отображаться.

renderColumnGroup() публичный метод

Отображает HTML-группу колонок.

публичный булево|строка renderColumnGroup ( )
return булево|строка

HTML-группа колонок или false, если группа колонок не должна отображаться.

renderErrors() публичный метод

Отображает ошибки валидатора модели фильтра.

публичный строка renderErrors ( )
return строка

Результат рендеринга.

renderFilters() публичный метод

Отображает фильтр.

публичный строка renderFilters ( )
return строка

Результат рендеринга.

renderItems() публичный метод

Отображает модели данных для грида.

публичный void renderItems ( )

renderSection() публичный метод

Отображает раздел указанного имени.

Если раздел с указанным именем не поддерживается, возвращается false.

публичный строка|булево renderSection ( $name )
$name строка

Имя раздела, например, {summary}, {items}.

return строка|булево

Результат рендеринга раздела или false, если раздел с указанным именем не поддерживается.

renderTableBody() публичный метод

Отображает тело таблицы.

публичный строка renderTableBody ( )
return строка

Результат рендеринга.

renderTableFooter() публичный метод

Отображает подвал таблицы.

публичный строка renderTableFooter ( )
return строка

Результат рендеринга.

renderTableHeader() публичный метод

Отображает заголовок таблицы.

публичный строка renderTableHeader ( )
return строка

Результат рендеринга.

renderTableRow() публичный метод

Отображает строку таблицы с данной моделью данных и ключом.

публичный строка renderTableRow ( $model, $key, $index )
$model смешанный тип

Модель данных для рендеринга

$key смешанный тип

Ключ, связанный с моделью данных

$index целое число

Индекс от нуля модели данных среди массива моделей, возвращённого $dataProvider.

return строка

Результат рендеринга

run() публичный метод

Выполняет виджет.

публичный void run ( )

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-grid-gridview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API