1

在我的项目中,我在模态窗口中使用 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>
4

1 回答 1

1

刚才我自己对此进行了测试,看来被踢出的寻呼机renderPager()不适用于 AJAX 设置。CGridView JavaScript 仅将 AJAX 绑定到<div>由小部件呈现的分页器(#response-grid此处),因此它不会找到并使用您的附加分页器。

我只是使用 CGridView 在底部呈现的默认寻呼机,并且效果很好。

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

于 2011-10-25T18:48:47.553 回答