2017-05-25 11 views
1

私はYii2フレームワークを使用しています。 GridViewにデータがあり、各行に削除ボタンがあります。私は、ユーザーがボタンをクリックしたときに解雇されるactionDeleteを投稿したいYii2:カスタム削除ボタンの作成方法

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

:ここに私のコードです。私のコードは動作していません、それは私にエラー#400:必要なパラメータがありません:IDを与えています。

私はYiiのv1から信じて、次のコードが見つかりました:私はYii2のためのこの非常に機能が欲しい

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

を。 私は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. があなたのDBから削除したい要素のidにSome_id_from_your_dbを交換して交換することを確認してください。それが役に立てば幸い。乾杯。

編集:'Sample_Column1', 'Sample_Column2',は、あなたのテーブルの詳細については言及していないため、参照用です。それに応じてそれを編集してください。

関連する問題