【问题标题】:yii gridview does not display all the data from its respective tableyii gridview 不显示其各自表中的所有数据
【发布时间】:2013-10-01 00:10:19
【问题描述】:

我有这个使用 CActiveDataProvider 的查询。我的表包含 15 条满足条件的记录,但由于某种原因,只显示了 10 条记录。这里可能缺少什么。

$prov2 = new CActiveDataProvider('BaseSiReceivedItem', array(
            'criteria' => array(
            'condition' => 'iar_no = 0'
            )));

echo count($prov2->data);

【问题讨论】:

    标签: php sql gridview yii


    【解决方案1】:
    'pagination'=>array(
    'pageSize'=>15,
    )
    

    现在显示的是 15 岁吗?

    这个关于 itemCounts 的链接也可能会有所帮助。 Yii Pagination Variables from DataProvider

    【讨论】:

    • 我的页面大小已经设置为 20.. 但只显示 10 条记录
    • 请发布更多代码,包括模型和标准,以便我们获得更好的图片。从这个 sn-p 很难分辨。
    【解决方案2】:

    视图文件中 listview 小部件的 pageSize 值可能会覆盖控制器中的 pageSize 值(如果未设置,则默认值可能会覆盖控制器)。

    或者,您可以像这样创建自定义列表视图:

    extensions/CustomListView.php

    <?php
    Yii::import('zii.widgets.CListView');
    
    class CustomListView extends CListView {
    
        public function init() {
            if ($this->dataProvider !== null)
                $this->dataProvider->pagination->pageSize = 30;
            parent::init();
        }
    }
    

    并在您的视图中使用它:views/{model}/index.php

    <?php $this->widget('CustomListView', array(
            'dataProvider' => $dataProvider,
            'itemView' => '_view'
    )); ?>
    

    【讨论】:

      【解决方案3】:

      我也遇到过这个问题,在我的列表视图中禁用分页时只列出了 10 个项目。当时我使用了以下代码,我列出了所有项目:)

      $data = new CActiveDataProvider('ProviderPortfolioSet', array('criteria' => $criteria, 'pagination' => false));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-10
        • 1970-01-01
        • 2016-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多