2016-09-27 163 views
1

我是一个新的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

现在我想有一个塔包含一些按钮,例如该按钮打开一个网页或财产以后别的! 我的问题是我如何创建该列?

回答

3

您还可以添加按钮(或者像你一样多),以这样的现有操作柱

<?= 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' 
    ] 
]); ?> 
0

例子:

<?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(); ?> 
0

试试这个方法:

[ 
      'header' => 'Button', 
      'content' => function($model) { 
       return Html::a(..); 
      }   
], 

More Info

+0

谢谢!我现在写这样的代码:' 'COUNTRYCODE', '国家名称', 'CURRENCYCODE', [ '标题'=> '按钮', '内容'=>功能($模型){ 返回HTML ::一个($文字= '测试',$ URL =的 'https://www.google.com'); } ],'现在我有反问题了,我怎样才能让这个按钮的文本从数据库中一件事?我的意思是我怎么能有一个countryname列,实际上是一个按钮,而不仅仅是文本? @insaneSkull – sass

+0

使用[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样式。 –

+0

抱歉,但我不明白!我知道$ key是ID,但我怎样才能使用我的数据库的文本? – sass