【发布时间】:2020-04-30 15:14:17
【问题描述】:
我对 Yii2 有疑问(和往常一样)。我试图在 GridView 的单元格中显示许多按钮。我有一张票,有四种可能的状态:
- 1:打开
- 2:处理中
- 3:关闭
- 4:编辑
在一列(ActionColumn?)中,我想显示许多按钮来改变它的状态,如下所示:
- 如果状态为“1”,我想显示两个按钮:“处理中”和“关闭工单”。
- 如果状态为 2,我只想显示“关闭工单”按钮 -> 没关系
- 如果它已关闭(状态 = 3),我想显示“编辑票证”按钮 -> 没关系
- 如果状态为 4,我将显示“关闭工单”按钮 -> 没关系
这是我的 GridView 中该列的代码。我只能显示一个按钮,不知道如何显示更多按钮,因为您不能返回多个元素或数组:
[
'label' => 'Change State:',
'format' => 'raw',
'value' => function($dataProvider){
if($dataProvider->state== '1'){
return Html::a('In Process', ['/tickets/inprocessticket', 'id' => $dataProvider->id], ['class'=>'btn btn-warning', 'id' => 'btn_inProcessTicket']);
}else if($dataProvider->state== '2'){
return Html::a('Close Ticket', ['/tickets/closeticket', 'id' => $dataProvider->id], ['class'=>'btn btn-danger', 'id' => 'btn_closeTicket']);
}else if($dataProvider->state== '3'){
return Html::a('Edit Ticket', ['/tickets/editticket', 'id' => $dataProvider->id], ['class'=>'btn btn-info', 'id' => 'btn_editTicket']);
}else if($dataProvider->state== '4'){
return Html::a('Close Ticket', ['/tickets/closeticket', 'id' => $dataProvider->id], ['class'=>'btn btn-danger', 'id' => 'btn_closeTicket']);
}
},
],
感谢大家的帮助!
【问题讨论】: