2012-01-03 19 views
5

Quiero mostrar el componente CGridView con todos los registros como un enlace a su página relacionada Actualización.Cómo mostrar las filas de CGridView como un enlace

Quiero la funcionalidad del botón Editar al final de cada fila, aplicado a toda la fila.

Si I hago clic en cualquier lugar en una fila en particular, me redirigirá a su pantalla de actualización, respectivamente.

¿Es posible en Yii's CGridView?

Respuesta

27

CGridView

'columns'=>array(
'id', 
//'full_name', 
//'username', 
array(
     'name' => 'full_name', 
     'value' => 'CHtml::link($data->full_name, Yii::app() 
->createUrl("user/view",array("id"=>$data->primaryKey)))', 
     'type' => 'raw', 
    ), 
array(
     'name' => 'username', 
     'value' => 'CHtml::link($data->username,Yii::app()->createUrl("user/view",array("id"=>$data->primaryKey)))', 
     'type' => 'raw', 
    ), 
'email', 

Para hacer fila completa un enlace de prueba este ...

<?php $this->widget('zii.widgets.grid.CGridView', array(
... 
'htmlOptions'=>array('style'=>'cursor: pointer;'), 
'selectionChanged'=>"function(id){window.location='" . Yii::app()->urlManager->createUrl('controller/action', array('id'=>'')) . "' + $.fn.yiiGridView.getSelection(id);}", 
... 
)); ?> 
+0

gracias por la respuesta, pero no es lo que quise decir. En esta solución, estoy obteniendo ** valores ** de fila como enlace. mientras que quiero que toda la fila obtenga un enlace a su vista relacionada. Si puedes ayudar con eso :) –

+1

He introducido la solución para hacer que la fila sea un enlace .... –

+0

muchas gracias :) funcionó igual que yo quería ... –

2

implementar esta:

'selectionChanged'=>"function(id){window.location='" . Yii::app()->urlManager->createUrl('servers/view', array('id'=>$model->id)) . "' + $.fn.yiiGridView.getSelection(id);}", 
0

Ponga el código en la vista de cuadrícula de administración array (

    'class'=>'CButtonColumn', 
        'header'=>'Action', 
        'htmlOptions'=>array('width'=>'75px'), 
        'template'=>'{Edit} {Delete}', 
        'buttons'=>array 
         (
          'Edit' => array 
          (
           'imageUrl'=>Yii::app()->request->baseUrl.'/images/update.png', 
           'url'=>'Yii::app()->createUrl(\'vendor/artist/update\', array(\'id\'=>$data["id"],\'vid\'=>'.$vid.'))', 
           'options' => array('class' => 'editevent'), 
          ), 

          'Delete' => array 
          (
           'imageUrl' => Yii::app()->request->baseUrl . '/images/delete.png', 
           'url'=>'Yii::app()->createUrl(\'vendor/artist/artistdelete\', array(\'id\'=>$data["id"],\'vid\'=>'.$vid.'))', 
           'options' => array('class' => 'status1'), 
          ), 




         ), 
      ), 
Cuestiones relacionadas