在yii2中添加一个按钮到网格视图
问题描述:
我是一个新的yii2开发者! 我犯了一个GridView和所述代码如下所示:在yii2中添加一个按钮到网格视图
<?php Pjax::begin(); ?> <?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\ActionColumn'],
['class' => 'yii\grid\CheckboxColumn'],
['class' => 'yii\grid\SerialColumn'],
'id',
'countryCode',
'countryName',
'currencyCode',
],
]); ?>
<?php Pjax::end(); ?>
输出的屏幕截图: OUTPUT
现在我想有一个塔包含一些按钮,例如该按钮打开一个网页或财产以后别的! 我的问题是我如何创建该列?
答
您还可以添加按钮(或者像你一样多),以这样的现有操作柱
<?= GridView::widget([
::
::
'columns' => [
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete} {myButton}', // the default buttons + your custom button
'buttons' => [
'myButton' => function($url, $model, $key) { // render your custom button
return Html::a(..);
}
]
]
::
::
'currencyCode'
]
]); ?>
答
例子:
<?php Pjax::begin(); ?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\ActionColumn'],
['class' => 'yii\grid\CheckboxColumn'],
['class' => 'yii\grid\SerialColumn'],
'id',
'countryCode',
'countryName',
'currencyCode',
[
'label' => 'My Label',
'format' => 'raw',
'value' => Html::a('Click me', ['site/index'], ['class' => 'btn btn-success btn-xs', 'data-pjax' => 0])
]
],
]); ?>
<?php Pjax::end(); ?>
答
谢谢!我现在写这样的代码:' 'COUNTRYCODE', '国家名称', 'CURRENCYCODE', [ '标题'=> '按钮', '内容'=>功能($模型){ 返回HTML ::一个($文字= '测试',$ URL =的 'https://www.google.com'); } ],'现在我有反问题了,我怎样才能让这个按钮的文本从数据库中一件事?我的意思是我怎么能有一个countryname列,实际上是一个按钮,而不仅仅是文本? @insaneSkull – sass
使用[contentOptions](http://www.yiiframework.com/doc-2.0/yii-grid-column.html#$contentOptions-detail)和[headerOptions](http://www.yiiframework.com/ DOC-2.0/YII并网column.html#$ headerOptions细节)。添加你想要的任何html样式。 –
抱歉,但我不明白!我知道$ key是ID,但我怎样才能使用我的数据库的文本? – sass