Ciao a tutti,
Vorrei far funzionare un filtro su una zii.widgets.grid.CGridView ma non funziona.
la mia view index è:
<?php
$this->breadcrumbs=array(
'Incaricatis',
);
$model=new Incaricati('search');
$this->menu=array(
array('label'=>'Crea Incaricati', 'url'=>array('create')),
array('label'=>'Gestisci Incaricati', 'url'=>array('admin')),
);
?>
<h1>Incaricati</h1>
<hr>
<?php
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'incaricati-grid',
# 'dataProvider'=>$dataProvider,
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
# 'id_incaricati',
array( // display 'create_time' using an expression
'header'=>'Responsabile',
'value'=>'$data->idResponsabili0->cognome',
),
'nome',
'cognome',
'idUfficio0.ufficio',
#'idTipodatitrattati0.dati',
array(
'class'=>'CLinkColumn',
'header'=>'Esporta <br/>PDF',
'imageUrl'=>'images/icona_pdf.gif',
'labelExpression'=>'$data->cognome',
'urlExpression'=>'"index.php?r=incaricati/export_pdf&id=".$data->id_incaricati',
),
),
)); ?>
il mio dataProvider viene calcolato nel controller come segue:
public function actionIndex()
{
$dataProvider=new CActiveDataProvider('Incaricati');
#var_dump($dataProvider->getData());
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
nel model c’è il mio search:
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id_incaricati',$this->id_incaricati);
$criteria->compare('nome',$this->nome,true);
$criteria->compare('cognome',$this->cognome,true);
$criteria->compare('id_ufficio',$this->id_ufficio);
$criteria->compare('id_tipodatitrattati',$this->id_tipodatitrattati);
$criteria->compare('id_responsabili',$this->id_responsabili);
$criteria->compare('id_incarichi',$this->id_incarichi);
return new CActiveDataProvider(get_class($this), array(
'criteria'=>$criteria,
));
}
help me. thanks!!!