如何修复CGRIDVIEW YII上的水平滚动条位置?

时间:2014-05-29 13:59:57

标签: php sorting yii scrollbar cgridview

我正在使用CGRIDVIEW

假设gridview中有20列,所以horizintal滚动条会进入图片

如果我想排序第20列,我必须滚动到达那里

当我对该列进行排序时,会重新加载gridview,

因此水平滚动条会失去其位置并进入原始位置

如何在排序gridview之后在第20列创建滚动条

这是GridView - >

$this->widget('bootstrap.widgets.TbGridView', array(
            'type' => 'bordered striped',
            'id' => 'bike_search_grid',   
            'dataProvider' => $model->search_bike(),
            'ajaxUpdate' => true, //false if you want to reload aentire page (useful if sorting has an effect to other widgets)
            'filter' => null, 
            'template'=>'<div style="overflow:auto;">{items}</div>{pager}{summary}',
            'columns' => $selected_columns,
            'enablePagination' => true
        ));

1 个答案:

答案 0 :(得分:0)

您可以使用beforeAjaxUpdate获取当前滚动位置,并在更新表后使用afterAjaxUpdate进行设置:

 array(
    ...
    'beforeAjaxUpdate'=>'function(){
        position = $("#gridId table").position().left;
    }',
    'afterAjaxUpdate'=>'function(){
        $("#gridId").scrollLeft(position*(-1));
    }',
    ...
 )