yii2在gridview中更改控制器操作
我有ItemController,在actionView中我把Itempicture的gridview放进去,我想当我点击图标视图时,更新并删除,然后转到ItempictureControlleryii2在gridview中更改控制器操作,gridview,controller,grid,action,yii2,Gridview,Controller,Grid,Action,Yii2,我有ItemController,在actionView中我把Itempicture的gridview放进去,我想当我点击图标视图时,更新并删除,然后转到ItempictureController 那么如何使用不同的控制器更改gridview中的控制器操作呢?在gridview中,添加 [ 'class' => 'yii\grid\ActionColumn', 'template' => '{new_action1}{new_action2}', 'buttons' =&
那么如何使用不同的控制器更改gridview中的控制器操作呢?在gridview中,添加
[
'class' => 'yii\grid\ActionColumn',
'template' => '{new_action1}{new_action2}',
'buttons' => [
'new_action1' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', 'controller/action?id='.$model->id, [
'title' => Yii::t('app', 'New Action1'),
]);
}
],
],
[
'class'=>'yii\grid\ActionColumn',
'模板'=>'{new_action1}{new_action2}',
“按钮”=>[
'new_action1'=>函数($url$model){
返回Html::a(“”,'controller/action?id=”。$model->id[
'title'=>Yii::t('app','newaction1'),
]);
}
],
],
希望这能奏效 试试这个:
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view}',
'controller' => 'ItempictureController'
]
您需要设置yii\grid\ActionColumn的$controller属性。在您的情况下,请尝试以下方法:
[
'class' => 'yii\grid\ActionColumn',
'controller' => 'itempicture'
]
如果您使用的是yii\data\ArrayDataProvider,请确保将$key属性设置为:
$dataProvider->key='id'//id是Itempicture模型的主键名称
希望有帮助。有一个简短的解释通常比只有代码的答案要好。我知道这是一个很老的问题,但我的gridview有一个问题,我在
actioncolumn
中使用了不同的controller
操作,gridview在pjax
中,所以当我点击按钮时,它不会打开一个完整的窗口新页面它只是刷新gridview。知道怎么解决吗?如果使用SqlDataprovider,还必须设置$dataProvider->key='id';简单高效的解决方案:-)这不起作用,因为urlCreate将此路由转换为“ItempictureController/view”。但是r字符串必须是“itempicture/view”
[
'class' => 'yii\grid\ActionColumn',
'controller' => 'itempicture'
]