2014-02-14 97 views
1

可以做到这一点吗?cgridview中的if/else值 - yii

所以我有两个派对,A和B.如果是用户A,那么他可以点击接受链接,如果没有,然后做其他事情(禁用链接)。 什么不起作用'visible'因为这隐藏了整个列。甲方可能有两种情况需要点击/不点击。

寻找这样的事情:

'value'=>'CHtml::Link("Accept", array("$data->partyA()?array("site/accept):""", "id"=>$data->id));', 

回答

4

您可以使用匿名函数的值:

'value'=>function($data,$row){ 
    if ($data->partyA()) return CHtml::link(); 
    else return ""; 
} 

使用'type'=>'raw'此列。此外,如果你想外部参数传递到网格中添加:

'value'=>function($data,$row) use($external){} 
+0

优秀!谢谢!! – JamAndJammies

1

试试这个

'value'=>'CHtml::link("Accept", # check your condition here # ? array("site/accept"):"#", 
array("id"=>$data->id);'