Yii の作業を始めたばかりで、CGridView でいくつかの問題に直面しています。
ajax フィルターがグリッド ビューで機能していません。コンソールを確認すると、ajax リクエストが送信されていないことがわかります。
これは私の見解です(admin.php)
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$('#user-grid').yiiGridView('update', {
data: $(this).serialize()
});
return false;
});
");
?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'email_id',
'name',
'user_type',
array(
'class'=>'CButtonColumn',
),
),
)); ?>
モデルファイル(User.php)
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('email_id',$this->email_id,true);
$criteria->compare('name',$this->name,true);
//$criteria->compare('password',$this->password,true);
$criteria->compare('user_type',$this->user_type);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination'=>array('pageSize'=>3),
));
}
そして rules() の中で
array('id, email_id, name, user_type', 'safe', 'on'=>'search'),
コントローラーファイル (UserController.php)
public function actionAdmin()
{
$model=new User('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['User']))
$model->attributes=$_GET['User'];
$this->render('admin',array(
'model'=>$model,
));
}
また、「高度な検索」をクリックしても高度な検索フォームが開きません..関連する多くのスレッドを検索しましたが、役に立ちません..問題を特定するのを手伝ってください..よろしくレオ