CgridView ajax分页

时间:2011-10-25 08:03:18

标签: ajax yii pagination cgridview

在我的项目中,我在模态窗口中使用cgridview。现在我面临的问题是,当我选择分页时,页面会重新加载。如何使用ajax分页加载网格视图。我的ui代码ID如下所示......

<div id="pick-category-modal" title="Pick Category" class="popupinfoholder2">
    <div style="width:700px; height:auto;">
        <?php
        $widget = $this->widget('zii.widgets.grid.CGridView', array(
            'id' => 'response-grid',
            'dataProvider' => $pickdataset->pickSection(),
            'cssFile' => Yii::app()->baseUrl . '/media/css/gridview.css',
            'summaryText' => '',
            'ajaxUpdate'=>true,
            'enablePagination' => true,
            'template' => '{items}',
            'pager' => array(
                'class' => 'LinkPager',
                'cssFile' => false,
                'header' => false,
                'firstPageLabel' => 'First',
                'prevPageLabel' => 'Previous',
                'nextPageLabel' => 'Next',
                'lastPageLabel' => 'Last',
            ),
            'columns' => array(
                .....................
                .....................
            ),));
        ?>
        <div class="grid-view-footer">
            <div class="paginationholder">
                <div id="pagination">
                    <?php $widget->renderPager(); ?>
                </div>
            </div>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

刚刚自己测试一下,似乎用renderPager()踢出的寻呼机不适用于AJAX设置。 CGridView JavaScript仅将AJAX绑定到小部件呈现的<div>内的寻呼机(此处为#response-grid),因此它无法找到并使用您的其他寻呼机。

我只使用CGridView在底部呈现的默认寻呼机,并且工作正常。

您可以覆盖CGridView JS来修复此问题,或将其列为Yii bug跟踪器的增强功能:http://code.google.com/p/yii/issues/list