как отключить обновление в gridview для pjax в yii2?

Я новичок в yii2, прямо сейчас я создаю пример приложения crud. Я использовал pjax для gridview, у меня он работает нормально. Моя проблема в том, что когда я обновляю свою строку в то время, pjax также вызывает сейчас, я хочу отключить этот pjax для кнопки обновления. Как я могу решить эту проблему? Вот мой код

<?php

use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use yii\widgets\Pjax;

/* @var $this yii\web\View */
/* @var $searchModel backend\models\PostSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$this->title = 'Posts';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="post-index">

    <h1><?= Html::encode($this->title) ?></h1>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>

    <p>
        <?= Html::a('Create Post', ['create'], ['class' => 'btn btn-success']) ?>
    </p>

    <?php \yii\widgets\Pjax::begin(
            ['id' => 'StickerList', 'timeout' => false, 'enablePushState' => false, 'clientOptions' => ['method' => 'GET']]
        ); ?>
    <?= GridView::widget([
        'dataProvider' => $model->search(),        
        'filterModel' => $model,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            [
                'attribute'=>'PostType',
                'filter'=>Html::activeDropDownList($model, 'PostType',array(""=>"All","1"=>"Status","2"=>"Images","3"=>"Video"),['class'=>'form-control','prompt' => 'Select Post Type']),
            ],
            'PostTitle',
            [
                'header' => 'Artist',
                'attribute' => 'ArtistName',
            ],
            [
                'header' => 'Date Posted',
                'attribute' => 'DatePosted',
                'filter' => false,
            ],
            [
                'header' => '# Likes',
                'attribute' => 'TotalLikes',
                'filter' => false,
            ],
            [
                'header' => '# Comments',
                'attribute' => 'TotalComments',
                'filter' => false,
            ],
            [
                'header' => 'Exclusive',
                'attribute' => 'IsExclusive',
                'filter'=>Html::activeDropDownList($model, 'IsExclusive',array(""=>"All","0"=>"Normal","1"=>"Exclusive"),['class'=>'form-control','prompt' => 'Select Exclusive']),
            ],
            [
                'header' => 'Status',
                'attribute' => 'Status',
                'filter'=>Html::activeDropDownList($model, 'Status',array(""=>"All","1"=>"Active","2"=>"Inactive"),['class'=>'form-control','prompt' => 'Select Status']),
            ],
            [
                'class' => 'yii\grid\ActionColumn',
                'template'=>'{update}',
                'buttons' => [
                    'update' => function ($url,$model) {
                            $url = Url::toRoute('post/update?id='.$model['PostID']);
                        return Html::a('<span class="glyphicon glyphicon-pencil"></span>',$url);
                    },
            ],
            ],
        ],
    ]); ?>
    <?php \yii\widgets\Pjax::end(); ?>

</div>

person Nikul Panchal    schedule 01.10.2015    source источник


Ответы (1)


Вам нужно добавить [ 'data-pjax' => false ] или [ 'data-pjax' => '0' ] в параметры тега привязки кнопки обновления.

Например,

 [
     'class' => 'yii\grid\ActionColumn',
     'template'=>'{update}',
     'buttons' => [
           'update' => function ($url,$model) {
                        $url = Url::toRoute('post/update?id='.$model['PostID']);
                        return Html::a('<span class="glyphicon glyphicon-pencil"></span>',$url, ['data-pjax' => '0']);
                    },
     ],
]
person GAMITG    schedule 01.10.2015