Создаем экземпляр класса CArrayDataProvider:
$items = array(array('id'=>1, 'title'=>'Title1', 'description' => 'Description1'),
array('id'=>2, 'title'=>'Title2', 'description' => 'Description2'),
array('id'=>3, 'title'=>'Title3', 'description' => 'Description3'),
array('id'=>4, 'title'=>'Title4', 'description' => 'Description4'));
$sort = new CSort;
$sort->defaultOrder = 'id DESC';
$sort->attributes = array('id');
$itemsProvider = new CArrayDataProvider($items, array(
'keyField' => 'id',
'pagination' => array(
'pageSize'=>3,
),
'sort' => $sort));
Вызываем виджет:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id' => 'itemGrid',
'dataProvider' => $itemsProvider,
'columns' => array(
array(
'name' => 'ID',
'value' => '$data["id"]'
),
array(
'name' => 'Title',
'value' => '$data["title"]'
),
array(
'name' => 'Description',
'value' => '$data["description"]'
)
),
'enableSorting' => true,
));
?>
Обязательно нужно использовать CArrayDataProvider.
Источник данных массив, не важно какого происхождения.
Нужно чтоб заработала сортировка, а она не хочет.
Перепробовал много разных способов.
Подскажите, как правильно?
Спасибо.