在yii2中向gridview添加新行

时间:2017-09-28 12:07:19

标签: jquery gridview yii2

我需要在yii2的gridView创建的表的顶部附加一些新行。 gridview的数据由activeDataProvider提供。

<div class="col-sm-12" id="dataDiv">              
<?php
  echo GridView::widget([
    'dataProvider' => $model['dataProvider'],
    'columns' => [
      'id',
      'customer_name',
      'customer_lastname',
      'customer_mobile',
      'created_at:date'
    ]
  ]);
?>
</div>

我可以通过ajax调用控制器方法获取新行,但我不知道如何通过ajax(jquery)将它们附加到表中。

任何想法都会受到高度赞赏!

1 个答案:

答案 0 :(得分:1)

我知道这个答案来晚了,但是对于将来想要解决方案的其他人来说:

首先,给您的GridView一个ID,以便我们可以在html中使用它:

GridView::widget([
    'id' => 'some-list',
    ...
]);

假设您直接从控制器获取新行作为响应,然后您要使用jQuery将列表追加到顶部:

$.post('your-saving-url', {someData:'you-want-to-save'}, function(response) {
     // append the new row to the top of our table
     $('#some-list').find('tbody').prepend(response);
});

几秒钟后刷新pjax以确保表结构正确并修复分页是很有意义的。