関連する更新ページへのリンクとして、すべてのレコードを含むCGridViewコンポーネントを表示したいと思います。
すべての行の最後にある編集ボタンの機能を、行全体に適用したいと思います。
特定の行のどこかをクリックすると、それぞれ更新画面にリダイレクトされます。
YiiのCGridViewで可能ですか?
関連する更新ページへのリンクとして、すべてのレコードを含むCGridViewコンポーネントを表示したいと思います。
すべての行の最後にある編集ボタンの機能を、行全体に適用したいと思います。
特定の行のどこかをクリックすると、それぞれ更新画面にリダイレクトされます。
YiiのCGridViewで可能ですか?
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);}",
...
)); ?>
これを実装します:
'selectionChanged'=>"function(id){window.location='" . Yii::app()->urlManager->createUrl('servers/view', array('id'=>$model->id)) . "' + $.fn.yiiGridView.getSelection(id);}",
コードを管理グリッドビュー配列に配置します(
'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'),
),
),
),