CgridView ajax分页

发布于 2024-12-11 21:36:51 字数 1492 浏览 0 评论 0原文

在我的项目中,我在模式窗口内使用 cgridview 。现在我面临的问题是,当我选择分页时,页面会重新加载。我如何使用ajax分页加载网格视图。我的用户界面代码 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>

in my project i am using the cgridview inside a modal window. now i am facing the problem that when i select the pagination the page get reloaded. how can i load the grid view with ajax pagination. my ui code id given below...

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌上青苔 2024-12-18 21:36:51

刚才我自己测试了一下,似乎用 renderPager() 踢出的分页器不适用于 AJAX 设置。 CGridView JavaScript 仅将 AJAX 绑定到小部件呈现的

内的分页器(此处为 #response-grid),因此它不会查找和使用您的附加内容寻呼机。

我只使用 CGridView 在底部呈现的默认分页器,效果很好。

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

Just testing this myself a moment ago, it appears that the pager kicked out with renderPager() does not work with the AJAX setting. The CGridView JavaScript only binds the AJAX to pagers inside the <div> rendered by the widget (#response-grid here), so it does not find and use your additional pager.

I just use the default pager that the CGridView renders at the bottom, and that works fine.

You could override the CGridView JS to fix this, or list it as an enhancement on the Yii bug tracker: http://code.google.com/p/yii/issues/list

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文