yii cgridview输入文本和选择过滤器被禁用

时间:2013-10-15 07:23:04

标签: php filtering yii cgridview

[编辑] 我只使用了一些用于排序的js代码来禁用div容器的选择。

我正在使用Yii cgridview来显示我的数据。但是我无法输入输入文本字段而无法从选择/下拉列表中选择,这些是cgridview上的过滤器选项。顺便说一句,数据来自视图,而不是来自常规表。

以下是我控制器上的代码,

$request = new Request;
$request->unsetAttributes();

if(isset($_GET['Request'])
 $request->attributes=$_GET['Request'];

$this->render('index', array(
            'request' => $request,
        ));

以下是模型上的安全字段

array('request_id, facility_id, client_id, status, description, submitted_by, submitted, acknowledge, req_type', 'safe')

以下是模型搜索方法的代码

function setRequests(){

$criteria = new CDbCriteria;
$criteria->compare('req_type',$this->req_type, true);
$criteria->compare('description', $this->description, true);
$criteria->compare('status', $this->status, true);

return new CActiveDataProvider($this, array(
         'criteria' => $criteria,
          'pagination'=>array('pageSize'=>5),
        ));
}

以下是视图文件中的代码。

$this->widget('zii.widgets.grid.CGridView', array(
            'id'=>'request-clist',
            'dataProvider'=>$request->setRequests(),
            'filter'=>$request,
            'columns'=>
            array(
                    array('name'=>'req_type', 
                        'header'=>'Item',
                        'value'=>'CHtml::link($data->req_type, array($data->url));',
                        'type'=>'raw',
                        'filter' => CHtml::dropDownList('Request[req_type]',
                        $request->req_type, 
                        array(
                            'Notice' => 'Notice',
                            'FAR' => 'FAR', 
                            'PC' => 'PC',
                            'EM'=>'EM',
                            'RH'=>'RH'),
                        array('empty' => '(Select)'))
                        ),
                    array('name'=>'description', 
                        'header'=>'Description',
                        'filter'=>CHtml::textField('Request[description]',$request->description)),
                    array('name'=>'status',
                         'header'=>'Status',
                         'filter'=>CHtml::textField('Request[status]',$request->status)),
            ),
    ));

我想念一些东西吗?

0 个答案:

没有答案