Advertisement
akhfa

Delete multiple di yii2

Jul 30th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.06 KB | None | 0 0
  1. //Di view
  2.  
  3. //tambahkan
  4. use kartik\grid\GridView;
  5. use yii\widgets\Pjax;
  6.  
  7. //ganti bagian gridview::widgets jadi kayak gini
  8.     <?= GridView::widget([
  9.         'dataProvider' => $dataProvider,
  10.         'filterModel' => $searchModel,
  11.         'pjax'=>true,           //<== ketambahan ini
  12.         'pjaxSettings'=>[       //<== ketambahan ini
  13.             'neverTimeout'=>true,
  14.         ],
  15.         'columns' => [
  16.             ['class' => 'yii\grid\SerialColumn'],
  17.  
  18.             'username',
  19.             'nama',
  20.  
  21.             ['class' => 'yii\grid\ActionColumn'],
  22.             ['class' => 'kartik\grid\CheckboxColumn']   //<== ketambahan ini
  23.         ],
  24.     ]); ?>
  25.  
  26. //Tambahkan button
  27.     <p>
  28.         <?= Html::submitButton('Hapus',
  29.             ['class' => 'btn btn-success', 'id' => 'delButton']
  30.         ) ?>
  31.     </p>
  32.  
  33. //Tambahkan javascript di view
  34. <?php $script = <<< JS
  35.     $('#delButton').click(function(){
  36.             $.post(
  37.                 "users/delete-multiple",
  38.                 {
  39.                     pk : $('#w0').yiiGridView('getSelectedRows') //w0 adalah id dari gridnya
  40.                 },
  41.                 function () {
  42.                     $.pjax.reload({container:'#w0-pjax'}); //w0-pjax adalah id dari Pjax (diatasnya id grid)
  43.                 }
  44.             );
  45.         });
  46. JS;
  47. $this->registerJs($script);
  48. ?>
  49.  
  50.  
  51. //di controller tambahkan
  52.     public function actionDeleteMultiple()
  53.     {
  54.         $pk = Yii::$app->request->post('pk'); // Array or selected records primary keys
  55.  
  56.         // Preventing extra unnecessary query
  57.         if (!$pk) {
  58.             return;
  59.         }
  60.  
  61.         return Users::deleteAll(['id' => $pk]);
  62.     }
  63.  
  64. /*
  65. Sumber:
  66. http://demos.krajee.com/grid#checkbox-column
  67. http://demos.krajee.com/grid#default-export-config <== jika ada error pdf, search aja pdf di sini, hapus pdf di export config nya
  68. http://stackoverflow.com/questions/30180492/yii2-kartik-gridview-disable-pdf-export <== ini yang menangani eror pdf
  69. http://stackoverflow.com/questions/27397588/yii-2-how-to-bulk-delete-data-in-kartik-grid-view <== referensi ajax buat delete
  70. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement