使用gridview获取yii2中的选定行



你能给我一个简单的基本例子,如何在yii2 gridview中获得选定的行。我已经尝试了所有的例子存在于论坛上,但它不工作。我得到了这个错误:无法读取未定义的属性'selectioncolumn'

下面是我的代码:

view

<?= GridView::widget([
    'dataProvider'=> $dataProvider,
    'filterModel' => $searchInstance,
        //'containerOptions' => ['class' => 'instance-pjax-container'],
        'id' => 'grid',
        'export' => false,
    'columns' => [
            ['class' => 'yiigridSerialColumn'],
            'codebien',
            'designationbien',
            'codesousfamille',
            'numfacture',
            'dt',
            ['class' => 'yiigridCheckboxColumn'],
            ['class' => 'yiigridActionColumn'],
        ],

]);?>

  <?= Html::SubmitButton( 'Affecter', [ 'class' => 'btn btn-success' , 'id' =>'x']) ?>    

  <?php
$script = <<< JS
$(function () {
         $('#x').click(function(){
            $.post(
   [ "listeaffecter", 
    {
        pk : $('#grid').yiiGridView('getSelectedRows')
    },]
);
         });
  });
JS;
$this->registerJs($script);
?>

这里是我的控制器:

public function actionListeaffecter(){
                    $searchInstance = new InstanceSearch();
                    $dataProvider = $searchInstance->search(Yii::$app->request->queryParams);
                    $pk = Yii::$app->request->post('pk'); 
                    if ($pk) {
                        print ($pk);
                    }
                         return $this->render('vueListeAaffecter', [
                            'searchInstance' => $searchInstance,
                            'dataProvider' => $dataProvider,
                            ]);
                }

你可以试试这个方法

$('#your-grid-id').yiiGridView('getSelectedRows');

在你的情况下

$('#grid').yiiGridView('getSelectedRows');

最新更新