Как отображать строки CGridView в виде ссылки

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

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

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

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


person Darshit Gajjar    schedule 03.01.2012    source источник


Ответы (3)


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);}",
...
)); ?>
person Rajat Singhal    schedule 03.01.2012
comment
спасибо за ответ, но я не это имел в виду. В этом решении я получаю строку values в виде ссылки. в то время как я хочу, чтобы вся строка получила ссылку на связанное с ней представление. Если вы можете помочь с этим :) - person Darshit Gajjar; 04.01.2012
comment
эй, есть еще одна проблема с выбором строки сетки, когда я использую представление, а не таблицу this -› $.fn.yiiGridView.getSelection(id); ничего не возвращает. Что я должен делать - person Darshit Gajjar; 10.01.2012
comment
после долгого перерыва я нашел другой сценарий. Получу ли я какое-либо значение ячейки строки, когда я нажимаю на нее?? - person Darshit Gajjar; 01.05.2012

Реализуйте это:

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

Поместите свой код в массив представления сетки администратора (

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




                        ),
            ),
person Ankit Modi    schedule 20.02.2013