0

我使用 CGridView 来显示记录。过滤器在我的应用程序中无法正常工作。不是 Ajax 更新,而是重新加载整个页面。我想使用 ajax 调用过滤记录。这是我的代码。

$this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'mage-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
        'ajaxUpdate'=>true, 
        'columns'=>array(
                'entity_id',
                'name',
                'sku',
                'type_id',
                'price',
                //'status',
                array(
                    'name'=>'status',
                    'header'=>'Status',
                    'filter'=>array('1'=>'Enabled','2'=>'Disabled'),
                    'value'=>'($data->status=="1")?("Enabled"):("Disabled")'
                ),

                array(
            'class'=>'CButtonColumn',
                        'template' => '{update}{delete}',
                   //   'viewButtonUrl'=>'Yii::app()->controller->createUrl("/ad/view",array("id"=>$data["id"]))',
                        'buttons' =>array(
                            'update' => array(
                                'url'=>'Yii::app()->controller->createUrl("/mageproduct/update",array("pid"=>$data["entity_id"],"sid"=>SHOP_ID))',
                                'imageUrl'=>Yii::app()->request->baseUrl.'/images/icons/dark/create_write.png',
                            ),
                            'delete' => array(
                                'url'=>'Yii::app()->controller->createUrl("/mageproduct/delete",array("pid"=>$data["entity_id"],"sid"=>SHOP_ID))',                        
                                'imageUrl'=>Yii::app()->request->baseUrl.'/images/icons/dark/trashcan.png', 
                             // 'deleteConfirmation' => 'Delete?',
                            )
                        ),

                    ),

        ),

这是我的控制器动作

public function actionAdmin()
    {
        $model=new Mageproduct('search'); 
        $model->unsetAttributes();  // clear any default values
        if(isset($_GET['Mageproduct']))
            $model->attributes=$_GET['Mageproduct'];

        $this->render('admin' ,array(
                        'model' =>$model,
                ));
    }

注意:我使用 CArrayDataProvider。

4

0 回答 0