2012-01-03 12 views
5

Tôi muốn hiển thị thành phần CGridView với tất cả các bản ghi dưới dạng liên kết đến trang Cập nhật có liên quan của nó.Cách hiển thị các hàng của CGridView dưới dạng một liên kết

Tôi muốn chức năng của nút chỉnh sửa ở cuối mỗi hàng, được áp dụng cho toàn bộ hàng.

Nếu tôi nhấp vào bất kỳ vị trí nào trên một hàng cụ thể, nó sẽ chuyển hướng tôi đến màn hình cập nhật tương ứng.

Có thể trong CGridView của Yii không?

Trả lời

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

Để làm cho toàn bộ hàng một liên kết cố gắng này ...

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

cảm ơn bạn đã trả lời, nhưng đó không phải là ý tôi. Trong giải pháp này, tôi nhận được hàng ** giá trị ** như liên kết. trong khi tôi muốn toàn bộ hàng để có được liên kết đến quan điểm liên quan của nó. Nếu bạn có thể giúp với điều đó :) –

+1

Tôi đã nhập giải pháp để làm cho hàng một liên kết .... –

+0

cảm ơn bạn rất nhiều :) nó làm việc giống như tôi muốn .. –

2

Thực hiện điều này:

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

Đặt mã của bạn trong quản trị xem lưới mảng (

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




         ), 
      ),