2012-01-03 4 views
5

Я хочу отобразить компонент CGridView со всеми записями как ссылку на его связанную Обновление.Как отображать строки CGridView в качестве ссылки

Я хочу функциональность кнопки редактирования в конце каждой строки, применяемой к целой строке.

Если я нажимаем в любом месте на определенную строку, он перенаправляет меня на экран обновления соответственно.

Возможно ли это в CGridView от Yii?

ответ

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', 

Для того, чтобы вся строка-ссылка попробовать это ...

<?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

спасибо за ответ, но это не то, что я имел в виду. В этом решении я получаю строки ** значения ** в качестве ссылки. в то время как я хочу, чтобы целая строка получила ссылку на связанный с ней вид. Если вы можете с этим помочь :) –

+1

Я ввел решение, чтобы сделать строку ссылкой .... –

+0

Большое вам спасибо :) она работала так же, как я хотел .. –

2

Реализовать это:

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

Поместите свой код в админ виде сетки массива (

    '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'), 
          ), 




         ), 
      ), 
Смежные вопросы