Yii cgridview根本不过滤

Yii cgridview根本不过滤,yii,cgridview,Yii,Cgridview,我在谷歌上搜索了所有地方,但我看不到我还遗漏了什么?顶部的过滤器不起任何作用。我认为这是crud的默认值,不确定。但我在这里还缺什么 控制器: $model=new Product('search'); $model->unsetAttributes(); // clear any default values if(isset($_GET['Product'])) $model->attributes=$_GET['Product']; $this->render

我在谷歌上搜索了所有地方,但我看不到我还遗漏了什么?顶部的过滤器不起任何作用。我认为这是crud的默认值,不确定。但我在这里还缺什么

控制器:

$model=new Product('search');
$model->unsetAttributes();  // clear any default values
if(isset($_GET['Product']))
    $model->attributes=$_GET['Product'];

$this->render('view',array(
    'model'=>$model,
));
示范规则:

array('product_id, product_name,product_price, product_status, 'safe', 'on'=>'search'),
和视图:

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'product-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'product_id',
        'product_name',
        'product_price',
        'product_status',

        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>
js


在yii中运行CGridView时,它会在页面底部自动生成一个jquery,以便正确处理CGridView。从浏览器复制该脚本时,它不会在视图中显示该脚本,因此请从浏览器复制该脚本并粘贴到此处。该jquery可能会产生一些问题。

尝试使用firebug检查此问题,并检查jquery是否正常工作。

因为我看不到其他错误源:您是否也可以c&p模型的
search()
方法?添加了搜索,这只是yii生成的默认值。我不明白。一切看起来都很好。使用
$this->render('view',…)
调用的视图真的是您想要的吗?i、 e.你想要“索引”的地方不是“视图”?是的,这是正确的:/
$criteria=new CDbCriteria;

    $criteria->compare('product_id',$this->product_id);
    $criteria->compare('product_name',$this->product_name);
    $criteria->compare('product_price',$this->product_price);
    $criteria->compare('product_status',$this->product_status);     
    return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
    ));
jQuery(function($) {

$('.search-button').click(function(){
    $('.search-form').toggle();
    return false;
});
$('.search-form form').submit(function(){
    $('#product-grid').yiiGridView('update', {
        data: $(this).serialize()
    });
    return false;
});

jQuery(document).on('click','#product-grid a.delete',function() {
    if(!confirm('Are you sure you want to delete this item?')) return false;
    var th = this,
        afterDelete = function(){};
    jQuery('#product-grid').yiiGridView('update', {
        type: 'POST',
        url: jQuery(this).attr('href'),
        success: function(data) {
            jQuery('#product-grid').yiiGridView('update');
            afterDelete(th, true, data);
        },
        error: function(XHR) {
            return afterDelete(th, false, XHR);
        }
    });
    return false;
});
jQuery('#product-grid').yiiGridView({'ajaxUpdate':['product-grid'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'items','selectableRows':1,'enableHistory':false,'updateSelector':'{page}, {sort}','filterSelector':'{filter}','pageVar':'Product_page'});
            App.setMainPage(true);
            App.init();
            App.setTableDetails(jsonDashboard);
});
/*]]>*/