hi folks,
here is the problem. filter is not working after pagination triggered. (when go to the next page)
here is my model
class UserForm extends CActiveRecord
{
public $email;
public function tableName()
{
return 'user_profile';
}
public function rules()
{
...
array('email, ptype_id, nickname', 'safe', 'on'=>'search'),
...
}
public function relations()
{
return array(
'user' => array(self::BELONGS_TO, 'User', 'user_id'),
);
}
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('nickname',$this->nickname,true);
$criteria->with = array('user');
$criteria->compare('user.user_email', $this->email, true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination' => array('pageSize' => 10)
));
}
And here is my admin view
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-profile-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'profile_id',
array(
'name' => 'user.user_email',
//'header' => 'EMAIL',
'filter' => CHtml::activeTextField($model, 'email'),
'value' => '$data->user->user_email',
),
'nickname',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
Filter is working fine before pagination triggered. When I go to the next page, I cant change filter value for email.
Am I missing something?
Any idea?