gpt4 book ai didi

php - Yii CGridview 分页 renderpartial

转载 作者:行者123 更新时间:2023-12-01 07:56:25 30 4
gpt4 key购买 nike

我当前在我的 View 中渲染 3 个 CGridview,全部使用“renderPartial”和相同的 php 文件。这工作得很好,除了使用分页时,并且用户选择另一页结果时,它会将所有 CGridview 移动到该页面(如果可以的话)。我不确定为什么会发生这种情况或如何解决它。

我尝试过这种方法post on Yii forms ,它确实修复了 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',
),
));
?>

以下是我 View 中的“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>

这就是当前正在发生的事情: enter image description here

这就是当我将“false, true”添加到我的“RenderPartial”语句(如 Yii 答案)中时发生的情况: enter image description here

提前感谢您的帮助,我对这个问题真的很困惑。

更新作为引用,我也问过这个问题here在 Yii 表单上,我发现 SO 的响应时间要好得多,但 Yii 表单有集中的社区。

最佳答案

问题是多种因素综合造成的。

首先,我需要将 CGridView 的“updateSelector”属性设置为每个表的自定义页面选择器。

其次,我需要在“dataProvider”中设置“pageVar”以匹配选择器。

这是一个静态示例,以使其尽可能清晰。

数据提供者:

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',
),
));
?>

希望这对将来的人有帮助!

关于php - Yii CGridview 分页 renderpartial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23923437/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com