我在模型中使用了CArrayDataProvider,视图数据正常。但是我在搜索过程中遇到困难请告诉我我该怎么办?下面是我的代码: 我写的是模型:
public function search() {
$containerObj = new DRackspace;
$containerData = array();
$containerArr = $containerObj->getContainerList();
foreach ($containerArr as $cont) {
$containerData[] = $cont->name;
}
return $dataProvider = new CArrayDataProvider($containerData, array(
'id' => 'name',
'pagination' => array(
'pageSize' => Yii::app()->user->getState('pageSize', Yii::app()->params['page_size']),
),
));
}
My view code:
$this->widget('bootstrap.widgets.TbGridView', array(
'id' => 'CreateCloudContainerForm-grid',
'dataProvider' => $model->search(),
//'filter' => $model,
'emptyText' => Yii::t('b.CloudFiles', 'No Container found'),
'columns' => array(
array(
"type" => "html",`enter code here`
'name' => 'container',
"header" => Yii::t('b.cloudFiles', 'Container'),
'value' => '$data',
),
答案 0 :(得分:0)
Yii 1.1:使用带有CGridView和CArrayDataProvider的过滤器
http://www.yiiframework.com/wiki/232/using-filters-with-cgridview-nd-carraydataprovider/
答案 1 :(得分:0)
:
public function searchNew() {
$criteria = new CDbCriteria;
$criteria->compare('t.status', '1');
$criteria->compare('t.role', '2');
$records =array();
$data = User::model()->findAll($criteria);
foreach ($data as $d) {
$details = array('id'=>$d->id);
$records[] = (object) $details;
}
return new CArrayDataProvider($records, array('pagination' => true));
}
在控制器操作中:
public function action() {
$model = new User('searchNew');
$this->renderPartial('view', array(
'model' => $model,
)); exit;
}
在视图网格中:
'dataProvider' => $model->searchNew(),
'columns' => array(
array(
'name' => 'name',
'value' => '$data->name',
),