如何将CGridView中的行显示为链接

5

我想展示一个CGridView组件,其中所有记录都是指向其相关更新页面的链接。

我希望每一行末尾的编辑按钮功能应用于整个行。

如果我在特定行的任何位置点击,它将分别重定向到其更新屏幕。

在Yii的CGridView中是否可能实现?

3个回答

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);}",
...
)); ?>

谢谢回复,但这不是我想要的。在这个解决方案中,我得到了行作为链接。而我想让整行都链接到其相关视图。如果您能帮忙 :) - Darshit Gajjar
嗨,使用“视图”而不是“表格”时,在网格行选择方面还有一个问题,这个 -> $.fn.yiiGridView.getSelection(id); 返回空值。我该怎么办? - Darshit Gajjar
1
经过漫长的间隔,我发现了另一种情况.. "当我点击行时,我能获取到该行的任何单元格值吗" ?? - Darshit Gajjar

2

请实现以下内容:

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

1
将您的代码放入管理员网格视图 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'),
                            ),




                        ),
            ),

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接