0

我有一个 Yii 助推器 TbRelationalColumn 并且它工作得很好,现在当记录更多时,分页显示正确但是当我更改页面时,整个网格消失了,只有那个网格显示当前选择的,我必须刷新页面取回所有相关的列。这是我的代码:

$this->widget('bootstrap.widgets.TbExtendedGridView', array(
            'filter'=>$model,
            'dataProvider' => $model->search(),
             'pager'=>array(
                'firstPageCssClass'=>'previous',
                'lastPageCssClass'=>'next',
                ),
            'columns' => array_merge(array(
             array('class'=>'bootstrap.widgets.TbRelationalColumn',
                    'name' => 'name',
             'url' =>$this->createUrl('XXXXXXX'),
             'value'=> $data->name
              )
            ),array( 'XXXXXX','XXXXXX',
    array(
        'class'=>'CButtonColumn',
        'template'=>'{update}',
        'buttons'=>array(
        'update' => array(
        'label'=>'',
        'imageUrl'=>Yii::app()->request->baseUrl.'/images/update.png',
      ),
     ),
),
  )),
));

现在的问题是,当我们更改页面时,我如何维护当前视图,仅相关列页面更改而不是整个网格?

4

1 回答 1

0

注意:添加这一行'template' => "{items}{pager}{summary}",

例如下面:

$this->widget('booster.widgets.TbExtendedGridView', array(
    'filter'=>$model,
    'id'=>'mail-read-history-grid',
    'type'=>'striped bordered',
    'dataProvider' => $gridDataProvider,
    'template' => "{items}{pager}{summary}",
    'enableSorting' => false,
    'columns' => array_merge(array(
        array(
            'class'=>'booster.widgets.TbRelationalColumn',
            'name' => 'read_datetime',
            'url' => $this->createUrl('site/relational'),
            'value'=> '"test-subgrid"',
            'afterAjaxUpdate' => 'js:function(tr,rowid,data){
                bootbox.alert("I have afterAjax events too! This will only happen once for row with id: "+rowid);
            }'
        )
    ),$gridColumns),
));
于 2016-07-22T10:31:14.680 回答