Tengo un problema con "CButtonColumn" en un CGridView

Hola a todos

Estoy intentando aprender a usar el yii haciendo un proyecto para un cliente, uno bastante sencillo.

Básicamente es para llevar un stock de los equipos (es un colegio) y quizá expandirlo un poco para llevar un control de tickets.

Como parte del modelo tengo items (los equipos), componentes (memoria,disco,video etc.) y una clase intermedia, ItemComponente.

Me gustaría no solo pedir ayuda para solucionar los problemas puntuales que voy encontrando sino también para pedir que me vayan mostrando el camino hacia el buen uso del framework, a veces no me alcanza con pasarme muchísimas horas leyendo el foro y la documentación para entender como hacer, quizá ayude a otros newbies como yo!! :)

Bueno aquí va un problema puntual con un poco de código para que me orienten:

Tengo por un lado el controlador de Item, en realidad la acción Index:




public function actionIndex()

{

	   $dataProvider=new CActiveDataProvider('item', array(

                'pagination'=>array(

                'pageSize'=>4

              ))

           );


	$this->render('index',array(

		'dataProvider'=>$dataProvider,

	));

}


public function actionBorraComponente()

{

        if(Yii::app()->request->isAjaxRequest)

        {


          $data = itemComponente::model()->findByPk($_POST['itemComponente']);

          $data->delete();

          Yii::app()->end();

        }

}



El view al que llamo arriba:




<?php

$this->breadcrumbs=array(

	'Items',

);


$this->menu=array(

	array('label'=>'Create item', 'url'=>array('create')),

	array('label'=>'Manage item', 'url'=>array('admin')),

);

?>


<?php

$listaComponentes = CHtml::DropDownList(

          'idComponente','',

          CHtml::listData(Componente::model()->findAll(), 'id', 'nombre'));

?>


<input type="hidden" value=<?php echo "'".$listaComponentes."'";?> id="listaComponentes"/>




<h1>Equipos</h1>


<?php $this->widget('zii.widgets.CListView', array(

	'dataProvider'=>$dataProvider,

	'itemView'=>'_view',

	'template'=>"{items}\n{pager}",


));


?>

<script type="text/javascript">

/*<![CDATA[*/


function selectionChanged(grid){

  var componente_id = $.fn.yiiGridView.getSelection(grid);

  var buttonBorrar=

    '<input type="button" style="font-size:8" '+

     'value="borra el componente selectionado" id="btnBorrar" '+

     'onClick="borra('+ "'" + grid + "'," + "'" + componente_id + "'"  +')" '+

     '/>';

   

  var buttonAgregar=

    '<input type="button" '+

     'value="Agrega componente" id="btnAgregar" '+

     'onClick="Agrega('+ "'" + grid +')"/>';

  var div = '<div id="divBorrar">' + buttonBorrar + '<br>' + $('#listaComponentes').val() + buttonAgregar +  '</div>';

  $('#divBorrar').remove();


  $("#"+grid).append(div);

}


function borra(grid,componente_id){

  jQuery.ajax({

    cache: true,

    url: "index.php?r=item/borraComponente",

    data:{'itemComponente':componente_id},

    type:'POST',

    success: function(){

      //jQuery(this).prepend(data);


      $.fn.yiiGridView.update(grid);

    }

  });

}

/*]]>*/


</script>



_view.php, el view parcial al que llama el cListView de arriba:





$dataProvider=new CActiveDataProvider('ItemComponente', array(

  'criteria'=>array(

      'condition'=>sprintf('t.item_id=\'%s\'',$data->id),

      'with'=>array('componente'),

  ),

  'pagination'=>array(

      'pageSize'=>4,

  ),

));


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

  'id'=>'gridComponente'.$data->id,

  'selectionChanged'=> 'selectionChanged',

  'dataProvider' => $dataProvider,

  'summaryText'=>'',

  'columns' => array(

     array(

        'name'=>'componnete_id',

        'value'=>'$data->componente->id',

        'htmlOptions'=>array('display'=>'none'),

         'visible' => false

      ),

     array(

        'name'=>'',

        'value'=>'$data->componente->nombre',

        'htmlOptions'=>array('width'=>'190')

      ),

     array(

        'name'=>'',

        'value'=>'$data->cantidad',

        'htmlOptions'=>array('width'=>'50')

      ),

      array( 'name'=> '', 'type' => 'raw', 'value' => '' ),

      array(

        'class'=>'CButtonColumn',

		),    )

  )

);



Lo que me pasa con este código es que los botones del grid de componente llaman a las acciones del item! y no se que mirar.

De paso dejé un poco de código del cliente donde jugué con jquery para que si alguien tiene algo de tiempo me de algún consejo.

Graciassss