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 に答える