【问题标题】:Get the absolute row number in a grid获取网格中的绝对行号
【发布时间】:2011-08-15 15:01:10
【问题描述】:

在yii的CGridView中可以通过$row获取当前行号。但这仅返回当前页面内的行索引。我真正需要的是获取所有页面之间的绝对行号。

我正在使用 yii,所以我的梦想应该“轻松”实现,所以我希望答案不应该指导我向数据提供者添加特殊字段或访问寻呼机并获取当前页码然后乘以数字呜呜呜。

谢谢

【问题讨论】:

  • 好问题。我很好奇:你需要这个有什么目的?我猜它需要一些自定义代码,因为您的问题位于 DataProvider 中(它执行分页,而不是 CGridView)。
  • @DV98,感谢您的反馈和有关 DataProvider 的信息。我只需要在网格中添加一个序列号。够公平吧?

标签: gridview yii


【解决方案1】:

也许这会有所帮助: CDataProvider 有一个可以使用的属性“totalItemCount”:

例如:$this->grid->dataProvider->getTotalItemCount();

更多详情请访问:http://www.yiiframework.com/doc/api/1.1/CDataProvider#totalItemCount-detail

【讨论】:

    【解决方案2】:

    你解决了吗?如果没有,我为您提供以下解决方案

    $this->widget(
      'zii.widgets.grid.CGridView',
      array(
        'columns'=>array(
          array(
            'header'=>'No.',
            'value'=>'$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)',
          ),
        ),
      ));
    

    基本上,您可以从 dataprovider 访问 currentpage 和 pagessize 变量,并使用它来计算整个数据的“行号”。为什么是 $row + 1?因为 $row 从 0 开始。希望这会有所帮助:D

    【讨论】:

    • 冠军,冠军
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多