Использование CArrayDataProvider для заполнения CGridView в Yii

CArrayDataProvider Object
(
[keyField] =>
[rawData] => Array
(
[24] => Array
(
[ids] => 24
[name] => trillia
)

[25] => Array
(
[ids] => 25
[name] => ahestina
)

[28] => Array
(
[ids] => 28
[name] => piyas
)

[59] => Array
(
[ids] => 59
[name] => sitesrs
)

[60] => Array
(
[ids] => 60
[name] => simons
)

[70] => Array
(
[ids] => 70
[name] => Mahesh Raj
)

[71] => Array
(
[ids] => 71
[name] => kathetrine
)

[72] => Array
(
[ids] => 72
[name] => babig
)

[73] => Array
(
[ids] => 73
[name] => symons
))

[caseSensitiveSort] => 1
[_id:CDataProvider:private] =>
[_data:CDataProvider:private] =>
[_keys:CDataProvider:private] =>
[_totalItemCount:CDataProvider:private] =>
[_sort:CDataProvider:private] =>
[_pagination:CDataProvider:private] => CPagination Object
(
[pageVar] => page
[route] =>
[params] =>
[validateCurrentPage] => 1
[_pageSize:CPagination:private] => 10
[_itemCount:CPagination:private] => 0
[_currentPage:CPagination:private] =>
[_e:CComponent:private] =>
[_m:CComponent:private] =>
)

[_e:CComponent:private] =>
[_m:CComponent:private] =>
)

из приведенного выше массива я заполняю cgridview, используя следующий код в файле представления

 <?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'unen-custom-module-grid',
'dataProvider'=>$unenrollProvider,
//'dataProvider'=>Yii::app()->globals->getUsersByStandardnSection(1,3),
'itemsCssClass'=>'table table-striped flip-scroll',
'ajaxUpdate'=>true,
'template'=>'{summary}{pager}{items}{summary}{pager}',
'pager'=>array(
'header'         => '',
'firstPageLabel' => '&lt;&lt;',
'prevPageLabel'  => 'PREVIOUS',
'nextPageLabel'  => 'NEXT',
'lastPageLabel'  => '&gt;&gt;',
),
// 'selectableRows' => 2,
'columns'=>array(
array(
'header'=>'#',
'value'=>'++$row',
'htmlOptions'=>array(
'style'=>'width:50px;'
)
),
'name',
array(
'id' => 'unselectedIds',
//  'name' => 'ids',
'selectableRows' => 2,
'class' => 'CCheckBoxColumn',
//'value'=>'$this->ids'
),
),
));
?>

он работает нормально, но всякий раз, когда я нажимаю на пагинацию, cgridview автоматически скрывается, я не использую здесь $ model-> search (),

2

Решение

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

1

Другие решения

CGridView требует результат, возвращаемый CActiveDataProvider, поэтому попробуйте сделать это в вашем методе поиска в соответствующей модели, используя CActiveDataProvider

0

я считать Вы столкнулись с проблемой здесь, не указав keyField в вашем поставщике данных. Пытаться array('keyField'=>'ids) при создании экземпляра поставщика данных. Смотрите также этот ответ.

0
По вопросам рекламы [email protected]