# Class yii\widgets\ListView

Inheritance | yii\widgets\ListView » yii\widgets\BaseListView » yii\base\Widget » yii\base\Component » yii\base\BaseObject
Implements | yii\base\Configurable, yii\base\ViewContextInterface
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/widgets/ListView.php

The ListView widget is used to display data from data provider. Each data model is rendered using the view specified.

For more details and usage information on ListView, see the guide article on data widgets.

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$afterItem | Closure | An anonymous function that is called once AFTER rendering each data model. | yii\widgets\ListView
$autoIdPrefix | string | The prefix to the automatically generated widget IDs. | yii\base\Widget
$beforeItem | Closure | An anonymous function that is called once BEFORE rendering each data model. | yii\widgets\ListView
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component
$counter | integer | A counter used to generate $id for widgets. | yii\base\Widget
$dataProvider | yii\data\DataProviderInterface | The data provider for the view. | yii\widgets\BaseListView
$emptyText | string|false | The HTML content to be displayed when $dataProvider does not have any data. | yii\widgets\BaseListView
$emptyTextOptions | array | The HTML attributes for the emptyText of the list view. | yii\widgets\BaseListView
$id | string|null | ID of the widget. Note that the type of this property differs in getter and setter. See getId() and setId() for details. | yii\base\Widget
$itemOptions | array|Closure | The HTML attributes for the container of the rendering result of each data model. | yii\widgets\ListView
$itemView | string|callable | The name of the view for rendering each data item, or a callback (e.g. an anonymous function) for rendering each data item. | yii\widgets\ListView
$layout | string | The layout that determines how different sections of the list view should be organized. | yii\widgets\BaseListView
$options | array | The HTML attributes for the container tag of the list view. | yii\widgets\ListView
$pager | array | The configuration for the pager widget. | yii\widgets\BaseListView
$separator | string | The HTML code to be displayed between any two consecutive items. | yii\widgets\ListView
$showOnEmpty | boolean | Whether to show an empty list view if $dataProvider returns no data. | yii\widgets\BaseListView
$sorter | array | The configuration for the sorter widget. | yii\widgets\BaseListView
$stack | yii\base\Widget[] | The widgets that are currently being rendered (not ended). | yii\base\Widget
$summary | string | The HTML content to be displayed as the summary of the list view. | yii\widgets\BaseListView
$summaryOptions | array | The HTML attributes for the summary of the list view. | yii\widgets\BaseListView
$view | yii\web\View | The view object that can be used to render views or view files. Note that the type of this property differs in getter and setter. See getView() and setView() for details. | yii\base\Widget
$viewParams | array | Additional parameters to be passed to $itemView when it is being rendered. | yii\widgets\ListView
$viewPath | string | The directory containing the view files for this widget. This property is read-only. | yii\base\Widget

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\Component
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component
__construct() | Constructor. | yii\base\BaseObject
__get() | Returns the value of a component property. | yii\base\Component
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component
__set() | Sets the value of a component property. | yii\base\Component
__unset() | Sets a component property to be null. | yii\base\Component
afterRun() | This method is invoked right after a widget is executed. | yii\base\Widget
attachBehavior() | Attaches a behavior to this component. | yii\base\Component
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component
beforeRun() | This method is invoked right before the widget is executed. | yii\base\Widget
begin() | Begins a widget. | yii\base\Widget
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
detachBehavior() | Detaches a behavior from the component. | yii\base\Component
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component
end() | Ends a widget. | yii\base\Widget
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component
getBehavior() | Returns the named behavior object. | yii\base\Component
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component
getId() | Returns the ID of the widget. | yii\base\Widget
getView() | Returns the view object that can be used to render views or view files. | yii\base\Widget
getViewPath() | Returns the directory containing the view files for this widget. | yii\base\Widget
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component
init() | Initializes the object. | yii\base\Widget
off() | Detaches an existing event handler from this component. | yii\base\Component
on() | Attaches an event handler to an event. | yii\base\Component
render() | Renders a view. | yii\base\Widget
renderEmpty() | Renders the HTML content indicating that the list view has no data. | yii\widgets\BaseListView
renderFile() | Renders a view file. | yii\base\Widget
renderItem() | Renders a single data model. | yii\widgets\ListView
renderItems() | Renders all data models. | yii\widgets\ListView
renderPager() | Renders the pager. | yii\widgets\BaseListView
renderSection() | Renders a section of the specified name. | yii\widgets\BaseListView
renderSorter() | Renders the sorter. | yii\widgets\BaseListView
renderSummary() | Renders the summary text. | yii\widgets\BaseListView
run() | Executes the widget. | yii\base\Widget
setId() | Sets the ID of the widget. | yii\base\Widget
setView() | Sets the view object to be used by this widget. | yii\base\Widget
trigger() | Triggers an event. | yii\base\Component
widget() | Creates a widget instance and runs it. | yii\base\Widget

## Protected Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
renderAfterItem() | Calls $afterItem closure, returns execution result. | yii\widgets\ListView
renderBeforeItem() | Calls $beforeItem closure, returns execution result. | yii\widgets\ListView

## Events

Hide inherited events

Event | Type | Description | Defined By
--- | --- | --- | ---
EVENT_AFTER_RUN | yii\base\WidgetEvent | An event raised right after executing a widget. (available since version 2.0.11) | yii\base\Widget
EVENT_BEFORE_RUN | yii\base\WidgetEvent | An event raised right before executing a widget. (available since version 2.0.11) | yii\base\Widget
EVENT_INIT | yii\base\Event | An event that is triggered when the widget is initialized via init(). (available since version 2.0.11) | yii\base\Widget

## Property Details

$afterItem public property (available since version 2.0.11)

An anonymous function that is called once AFTER rendering each data model.

It should have the same signature as $beforeItem.

The return result of the function will be rendered directly. Note: If the function returns `null`, nothing will be rendered after the item.

See also renderAfterItem().

public Closure $afterItem = null
$beforeItem public property (available since version 2.0.11)

An anonymous function that is called once BEFORE rendering each data model. It should have the following signature:

    function ($model, $key, $index, $widget)

- `$model`: the current data model being rendered
- `$key`: the key value associated with the current data model
- `$index`: the zero-based index of the data model in the model array returned by $dataProvider
- `$widget`: the ListView object

The return result of the function will be rendered directly. Note: If the function returns `null`, nothing will be rendered before the item.

See also renderBeforeItem().

public Closure $beforeItem = null
$itemOptions public property

The HTML attributes for the container of the rendering result of each data model. This can be either an array specifying the common HTML attributes for rendering each data item, or an anonymous function that returns an array of the HTML attributes. The anonymous function will be called once for every data model returned by $dataProvider. The "tag" element specifies the tag name of the container element and defaults to "div". If "tag" is false, it means no container element will be rendered.

If this property is specified as an anonymous function, it should have the following signature:

    function ($model, $key, $index, $widget)

See also yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.

public array|Closure $itemOptions = []
$itemView public property

The name of the view for rendering each data item, or a callback (e.g. an anonymous function) for rendering each data item. If it specifies a view name, the following variables will be available in the view:

- `$model`: mixed, the data model
- `$key`: mixed, the key value associated with the data item
- `$index`: integer, the zero-based index of the data item in the items array returned by $dataProvider.
- `$widget`: ListView, this widget instance

Note that the view name is resolved into the view file by the current context of the $view object.

If this property is specified as a callback, it should have the following signature:

    function ($model, $key, $index, $widget)

public string|callable $itemView = null
$options public property

The HTML attributes for the container tag of the list view. The "tag" element specifies the tag name of the container element and defaults to "div".

See also yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.

public array $options = ['class' => 'list-view']
$separator public property

The HTML code to be displayed between any two consecutive items.

public string $separator = "\n"
$viewParams public property

Additional parameters to be passed to $itemView when it is being rendered. This property is used only when $itemView is a string representing a view name.

public array $viewParams = []

## Method Details

renderAfterItem() protected method (available since version 2.0.11)

Calls $afterItem closure, returns execution result.

If $afterItem is not a closure, `null` will be returned.

See also $afterItem.

protected string|null renderAfterItem ( $model, $key, $index )
$model | mixed | The data model to be rendered
$key | mixed | The key value associated with the data model
$index | integer | The zero-based index of the data model in the model array returned by $dataProvider.
return | string|null | $afterItem call result or `null` when $afterItem is not a closure

renderBeforeItem() protected method (available since version 2.0.11)

Calls $beforeItem closure, returns execution result.

If $beforeItem is not a closure, `null` will be returned.

See also $beforeItem.

protected string|null renderBeforeItem ( $model, $key, $index )
$model | mixed | The data model to be rendered
$key | mixed | The key value associated with the data model
$index | integer | The zero-based index of the data model in the model array returned by $dataProvider.
return | string|null | $beforeItem call result or `null` when $beforeItem is not a closure

renderItem() public method

Renders a single data model.

public string renderItem ( $model, $key, $index )
$model | mixed | The data model to be rendered
$key | mixed | The key value associated with the data model
$index | integer | The zero-based index of the data model in the model array returned by $dataProvider.
return | string | The rendering result

renderItems() public method

Renders all data models.

public string renderItems ( )
return | string | The rendering result