[编辑] 我只使用了一些用于排序的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)),
),
));
我想念一些东西吗?