2017-05-25 60 views
1

我正在使用Yii2框架。我有關於GridView的數據,每行都有一個刪除按鈕。這裏是我的代碼:Yii2:如何創建自定義刪除按鈕?

'content'=>function($data){ return Html::a('<i class="glyphicon glyphicon-ban-circle"></i> Bekor qilish', ['delete'], ['class' => 'btn btn-danger', 'data-method'=>'post']);

我想張貼actionDelete當用戶點擊該按鈕被解僱。我的代碼不工作,它給我錯誤#400:缺少必需的參數:id。

我發現下面的代碼,我從Yii的V1相信:

echo CHtml::link("Delete", '#', array('submit'=>array('post/delete', "id"=>$data->id), 'confirm' => 'Are you sure you want to delete?')); 

我想這對於Yii2非常功能。 我是Yii Framework的新手。請,請幫助我。

回答

1
echo GridView::widget([ 
'dataProvider' => $dataProvider, 
'filterModel' => $searchModel, 

'columns' => [ 
    'Sample_Column1', 
    'Sample_Column2', 
     ['header' => 'Actions', 
     'class' => 'yii\grid\ActionColumn', 
     'template' => '{new_action}', 
     'buttons' => [ 
      'new_action' => function ($url) { 
       return Html::a('<span class="glyphicon glyphicon-ban-circle"></span>', $url, [ 
          'title' => Yii::t('app', 'Delete'), 
          'data-confirm' => Yii::t('yii', 'Are you sure you want to delete?'), 
          'data-method' => 'post', 'data-pjax' => '0', 
       ]); 
      } 
     ], 'urlCreator' => function ($action, $model) { 
      if ($action === 'new_action') { 
       $url = Url::to(['your_controller/your_delete_action', 'id' => $model->Some_id_from_your_db]); 
       return $url; 
      } 
     } 
    ], 
], 
]); 
  1. 確保你設置在你的控制器刪除操作,更換'your_controller/your_delete_action'
  2. 更換Some_id_from_your_db你想從你的數據庫刪除的元素ID。希望能幫助到你。乾杯。

編輯:'Sample_Column1', 'Sample_Column2',只是供您參考,因爲您沒有提及您的表細節。因此相應地編輯它。