Creare un link dentro CGridView

Ciao,

è da poco che sono alle prese con questo framework e ancora devo comprendere come utilizzare al meglio gli strumenti che offre.

Ho creato una gridview e all’interno vorrei che una colonna sia linkabile ho scritto questo codice


$this->widget('zii.widgets.grid.CGridView', array(

			'id' => 'destinatari-grid',

			'dataProvider' => $dataProvider,

			'columns' => array(

			 array(

                    'class'=>'CLinkColumn',

                    'label'=>$data->id,

                    'urlExpression'=>'"questionario/view&id="'.$data->id,

                    'header'=>'id'

                    ),

				'id',

				'TIME_STAMP',

				'username',

				'ANNO_NASCITA',

				'SESSO',

			),

		));

Il problema è che $data->id mi ritorna vuoto e quindi anche la prima colonna è vuota, non so come farmi ritornare l’elemento corrente.

Credo che il problema stia nelle righe dove si specifica $data->id che deve essere compreso negli apici (l’espressione viene interpretata per ogni riga):

Prova cosi’:





   'label'=>'$data->id', 

   'urlExpression'=>'"questionario/view&id=".$data->id', 




Non ho mai usato questo metodo. In genere sostituisco la colonna in questo modo:


<?php

  $this->widget('zii.widgets.CDetailView', array(

    'data' => $model,

    'attributes' => array(

      'id',

      'titolo',

      'abstract',

      'corpo',

      array('name' => 'corpo', 'value' => $model->corpo, 'type' => 'html'),

      'datainserimento',

      'attiva',

    ),

  ));

?>

In pratica posso mettere il nome del campo, oppure un array che contiene il nome, il valore, ed il formato.