在这里,我使用 CActiveDataProvider 通过给出条件来传递选定的行,并且在视图中我在 CGridView 中显示的列工作正常,但同时我应该提供对列的搜索我无法提供搜索可以任何人帮助. 这是我的示例代码
控制器代码
public function actionShow($id)
{
$model=new StudentResult('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['StudentResult']))
$model->attributes=$_GET['StudentResult'];
$dataProvider=new CActiveDataProvider('StudentResult', array(
'criteria'=>array(
'condition'=>"profileId=$id",
),
'pagination'=>array(
'pageSize'=>20,
),
));
$this->render('show',array(
'model'=>$model,
'dataProvider' => $dataProvider,
));
}
查看代码
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'student-result-grid',
'dataProvider'=>$dataProvider,
'filter'=>$model,
'columns'=>array(
'id',
'moduleCode',
'moduleTitle',
'moduleCredits',
'grade',
'creditsObtain',
'semester',
/*
'points',
'profileId',
'createdOn',
'lastModifiedOn',
'lastModifiedBy',
*/
array(
'class'=>'CButtonColumn',
),
),
)); ?>
所以在视图中,我通过提供'dataProvider' => $dataProvider 来显示数据,因此值显示正确,但如果我提供'dataProvider' => $model->search(); 则搜索不起作用 整个值正在显示并且搜索正在工作