Yii2 framework backup
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
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](data-providers.md) 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](active-record.md)):
In the controller action:
```php
$dataProvider = new ActiveDataProvider(['query' => User::find()]);
return $this->render('myview', ['dataProvider' => $dataProvider]);
```
In the view `myview.php`:
```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|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:
```php
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,
],
],
]);
```