簡體   English   中英

Yii CGridview Pagination renderpartial

[英]Yii CGridview Pagination renderpartial

我目前正在我的視圖中渲染3個CGridviews,全部使用“renderPartial”和相同的php文件。 這種方法很好,除了使用分頁時,用戶選擇另一頁結果,它會將所有CGridviews移動到該頁面(如果可以的話)。 我不確定為什么會發生這種情況或如何解決它。

在Yii表單上嘗試了這個方法的帖子 ,它確實修復了CGridViews的分頁,但是打破了我的ajax函數和css樣式。 請參閱下面的圖像。

這是CGridView模板

<div class="row btn-row">
<h2 class="admin-h1"><?php echo $title; ?></h2>
<div class="btn-block-div">
    <button class="btn addOrgBtn" id="<?php echo $title; ?>">Add</button>
</div>
</div>
<?php 
$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>$title .'-table',
    'dataProvider'=>$dataProvider,
    'selectableRows'=>1,
    'hideHeader'=>true,
    'selectionChanged'=>'viewRoles',
    'columns'=>array(
        array(
            'header'=>'Name',
            'name'=>'Organization',
        ),
        'Roles',
    ),
));
?>

以下是我視圖中的“RenderPartial”語句:

<div class="col-md-12 col-sm-12 col-xs-12" style="margin-bottom:60px;">
<div class="col-md-4 col-sm-4 col-xs-12" id="School-grid">
    <?php echo $this->renderPartial('_roleTable', array('title'=>'School', 'model'=>$model, 'dataProvider'=>$schoolItems)); ?>
</div>
<div class="col-md-4 col-sm-4 col-xs-12" id="Classroom-grid">
    <?php echo $this->renderPartial('_roleTable', array('title'=>'Classroom', 'model'=>$model, 'dataProvider'=>$classroomItems)); ?>
</div>
<div class="col-md-4 col-sm-4 col-xs-12" id="Shared-grid">
    <?php echo $this->renderPartial('_roleTable', array('title'=>'Shared', 'model'=>$model, 'dataProvider'=>$sharedItems)); ?>
</div>
</div>

這是目前正在發生的事情: 在此輸入圖像描述

這就是當我將“false,true”添加到我的“RenderPartial”語句(如Yii答案)時會發生的情況: 在此輸入圖像描述

在此先感謝您的幫助,我真的迷失在這個問題上。

更新的參考,我也問過這個問題在這里就Yii的形式,我覺得SO具有更好的響應時間,但Yii的形式有集中的社區。

問題是各種各樣的事情。

首先,我需要將CGridView的“updateSelector”屬性設置為每個表的自定義頁面選擇器。

其次,我需要在“dataProvider”中設置“pageVar”以匹配選擇器。

這是一個靜態的例子,使其盡可能清晰。

DataProvider的:

new CArrayDataProvider($data, array(
        'sort'=>array(
            'attributes'=>array(
                'Organization',
                'Roles',
            ),
        ),
        'pagination'=>array(
            'pageSize'=>10,
            'pageVar'=>'custom-page-selector', //page selector
        ),
    ));

CGridView:

<?php 
$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>$title .'-grid',
    'dataProvider'=>$dataProvider,
    'selectableRows'=>1,
    'updateSelector'=>'custom-page-selector', //update selector
    'columns'=>array(
        array(
            'header'=>'Name',
            'name'=>'Organization',
        ),
        'Roles',
    ),
));
?>

希望這有助於未來的人!

如果他們都對其中一個分頁點擊做出反應,那可能是因為你用相同的名字(/ id)命名了你所有的網格視圖,這是一個有沖突的ID的問題,

就這樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM