1.8 KiB
Data widgets
GridView
The yii\grid\GridView widget is a powerful tool to create a data grid that provides pagination, sorting
and filtering of the data out of the box.
The GridView gets its data from a data provider which is responsible for sorting and
pagination.
The following code shows a basic example of a gridview showing Users from the database(User
is an active record):
In the controller action:
$dataProvider = new ActiveDataProvider(['query' => User::find()]);
return $this->render('myview', ['dataProvider' => $dataProvider]);
In the view myview.php
:
echo GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
'id',
'name',
'email',
'last_login_date:datetime',
[
'class' => 'yii\grid\ActionColumn',
]
],
]); ?>
Filtering
TDB
Filtering by related columns
TDB
ListView
DetailView
DetailView displays the detail of a single data yii\widgets\DetailView::$model.
It is best used for displaying a model in a regular format (e.g. each model attribute is displayed as a row in a table). The model can be either an instance of \yii\base\Model or an associative array.
DetailView uses the yii\widgets\DetailView::$attributes property to determines which model attributes should be displayed and how they should be formatted.
A typical usage of DetailView is as follows:
echo DetailView::widget([
'model' => $model,
'attributes' => [
'title', // title attribute (in plain text)
'description:html', // description attribute in HTML
[ // the owner name of the model
'label' => 'Owner',
'value' => $model->owner->name,
],
],
]);