2016-06-08 121 views
0

我想问你一件事。 我想弹出一个模式,当我点击网格视图内的按钮。这个代码可以用yii2 Grid View吗?显示在Yii2弹出GridView

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 

      'ID', 
      'DATASEQ', 
      'TIME', 
      'QTYOK', 
      'QTYDEFECT', 

      $actionCol=['class' => 'yii\grid\ActionColumn', 
       'template' => '{view}{info}', 
       'buttons' => [ 
       'info' => function ($url, $model) { 
        return Html::a('<span class="glyphicon glyphicon-info-sign"></span>', $url, [ 
         'id' => 'modalButton' , 
         'title' => Yii::t('app', 'Info'), 
        ]); 
       } 
      ], 
       'urlCreator' => function ($action, $model, $key, $index) { 
        if ($action === 'info') { 
        $url = Url::to(['../web/plan-detail-tiga/create','id'=>$model->DATASEQ]); 

        return $url; 

       } 
      } 

     ], 

     ], 
    ]); ?> 
+0

您是否尝试过这些解决方案? –

回答

0

在GridView代码上添加模态代码。

<?php 
    yii\bootstrap\Modal::begin(['id' =>'modal']); 
    yii\bootstrap\Modal::end(); 
?> 

在您的按钮中添加标识。

[ 
    'header'=>'Header', 
    'value'=> function($data) 
       { 
        return Html::a(Yii::t('app', ' {modelClass}', [ 
          'modelClass' => 'details', 
          ]), ['controller/action','id'=>$data->id], ['class' => 'btn btn-success', 'id' => 'popupModal']);  
       }, 
    'format' => 'raw' 
], 

在浏览页面注册JavaScript。

$this->registerJs("$(function() { 
    $('#popupModal').click(function(e) { 
    e.preventDefault(); 
    $('#modal').modal('show').find('.modal-content') 
    .load($(this).attr('href')); 
    }); 
});"); 
+0

[详细](http://www.hafidmukhlasin.com/2015/01/05/yii2-show-gridview-detail-data-in-a-twitter-bootstrap-modal/) –

0

试试这个:

<?php \yii\bootstrap\Modal::begin([ 
    'id' => 'popup-window' 
]);?> 

    <h1>Hello</h1> 
    <p>Modal body</p> 

<?php \yii\bootstrap\Modal::end();?> 


<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 

     'ID', 
     'DATASEQ', 
     'TIME', 
     'QTYOK', 
     'QTYDEFECT', 

     $actionCol=['class' => 'yii\grid\ActionColumn', 
      'template' => '{view}{info}', 
      'buttons' => [ 
       'info' => function ($url, $model) { 
        return \yii\bootstrap\Button::widget(['options' => [ 
         'data-target' => '#popup-window', 
         'data-toggle' => 'modal' 
        ]]); 
       } 
      ], 
      'urlCreator' => function ($action, $model, $key, $index) { 
       if ($action === 'info') { 
        $url = Url::to(['../web/plan-detail-tiga/create','id'=>$model->DATASEQ]); 

        return $url; 

       } 
      } 

     ], 

    ], 
]); ?> 
+0

解决了你的问题? – Vitaly