1. oto sınıfları oluşturulmuş sizi bağlı değildir bu yüzden
, GridView ile pjax kaba sınıfını veya id eklemek Ya pjax kaba özel sınıf veya id ekleyin ve: İşte benim kodudur kimlikleri (veya bir sayfada birden fazla GridView widget'ınız varsa).
kartik\grid\CheckboxColumn
sadece yii\grid\CheckboxColumn genişletilmiş sürümüdür.
kartik\grid\View
id
otomatik olarak oluşturulan ve bu özelliği kullanılarak değiştirilemez gibi görünüyor, buradan class
belirtebilirsiniz containerOptions
sahiptir. üretilen çıktının
'containerOptions' => ['class' => 'hotel-pjax-container'],
Örnek:
<div class="hotel-pjax-container table-responsive" id="w0-container">...</div>
yii\grid\View\
options
vardır, buradan id
belirtebilirsiniz. Sonuç taşıyıcısı kimliği, örneğin iletilen değerin öneki edilecektir:
'options' => ['id' => 'hotel-pjax'],
üretilen çıktı:
<div class="table-responsive" id="hotel-pjax-container">...</div>
sınıfı bu durumda göz ardı edilir.
Kimlik belirtmenizi öneririm.
2. oluşturma veya yönlendirme etti gii
ile oluşturulan varsayılan delete
eylem oto By kontrolörü
silinmek üzere harekete değiştirmek, bu yüzden birden silinmesi için başka bir eylem oluşturabilir (veya birinde bu işleyebilir Sana kalmış). Eğer deleteAll()
herhangi koşulu belirtmek olmasaydı, tablodaki tüm kayıtları silineceğini
public function actionDeleteMultiple()
{
$pk = Yii::$app->request->post('pk'); // Array or selected records primary keys
// Preventing extra unnecessary query
if (!$pk) {
return;
}
return Hotel::deleteAll(['hotel_id' => $pk]);
}
Not! Bununla doğru ol.
Ayrıca böyle VerbFilter
harekete belirtebilirsiniz:
use yii\filters\VerbFilter;
/**
* @inheritdoc
*/
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
'delete-multiple' => ['post'],
],
],
];
}
3.kravat bazı javascript yaz hep birlikte
Böyle seçilen satırların birincil anahtarları alabilirsiniz:
$.post(
"delete-multiple",
{
pk : $('#hotel-pjax-container').yiiGridView('getSelectedRows')
},
function() {
$.pjax.reload({container:'#hotel-pjax-container'});
}
);
You:
$('#hotel-pjax-container').yiiGridView('getSelectedRows');
(örneğin düğme tıklaması) Bu javascript ekle Bu issue içinde GridView ile pjax güncellemesi hakkında daha fazla bilgi bulabilirsiniz. Belki de şunu deneyin: $('#hotel-pjax-container').yiiGridView('applyFilter');
alternatif olarak; Öğeleri kullanarak js'yi veya yalnızca registerJs()
ile; index.php silmek birden için bir düğme oluşturmak
<input type="button" class="btn btn-info" value="Multiple Delete" id="MyButton" >
Adım 2:
Tam olarak silmek istediğiniz nedir? – arogachev
Onay kutusu işaretli tüm verileri silmek istiyorum. – Stark