Php 使用CGridView创建链接
我是Yii框架的初学者,我想在CGridView中使用字段Php 使用CGridView创建链接,php,yii,Php,Yii,我是Yii框架的初学者,我想在CGridView中使用字段idAccounts.name链接 $post= Sheduale::model()->search(); $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'users-grid', 'dataProvider'=>$post, 'columns'=>array( 'idAccounts.T
idAccounts.name
链接
$post= Sheduale::model()->search();
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'users-grid',
'dataProvider'=>$post,
'columns'=>array(
'idAccounts.TypeId',
'idAccounts.name',
'start',
'end',
array(
'class'=>'CButtonColumn',
),
),
));
您可以这样做:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'users-grid',
'dataProvider'=>$post,
'columns'=>array(
'idAccounts.TypeId',
array(
"header"=>"The column header",
"value"=>function($data, $row){
echo "<a></a>" //you can set everything you want here
//$data refers to each data row in the grid. you can use $data->attribute_name for access attributes of your model
}
)
'start',
'end',
array(
'class'=>'CButtonColumn',
),
),
));
$this->widget('zii.widgets.grid.CGridView',数组(
'id'=>'users-grid',
“数据提供程序”=>$post,
'列'=>数组(
“idAccounts.TypeId”,
排列(
“标题”=>“列标题”,
“value”=>函数($data,$row){
echo”“//您可以在此处设置所需的一切
//$data引用网格中的每个数据行。您可以使用$data->attribute\u name访问模型的属性
}
)
“开始”,
"完",,
排列(
'class'=>'CButtonColumn',
),
),
));
我想这会对你有所帮助。一个选择是使用。您可以将其
label
属性设置为希望在链接中显示的任何文本,并使用其属性为每个链接生成URL。urlExpression
必须是一个包含PHP的字符串(将对其进行计算,以确定链接URL应使用什么)。例如:
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'users-grid',
'dataProvider' => $post,
'columns' => array(
'idAccounts.TypeId',
array(
'class' => 'CLinkColumn',
'label' => 'View details'
'labelExpression' => '$data->idAccounts->name',
'urlExpression' => '\Yii::app()->createUrl('
. '"controller/action", '
. 'array("id" => $data->idAccounts->id)'
. ')',
'header' => 'Some Column Header',
),
'start',
'end',
array(
'class'=>'CButtonColumn',
),
),
));
您需要将controller/action
(在我的示例urlExpression
string中)替换为希望链接指向的实际Yii路由,同样,也需要替换为本示例中使用的示例路由参数