Gridview 获取网格中的绝对行数

Gridview 获取网格中的绝对行数,gridview,yii,Gridview,Yii,在yii的CGridView中,我可以使用$row获取当前行号。但这只返回当前页面内的行索引。我真正需要的是得到所有页面中的绝对行数 我正在使用yii,所以我的梦想应该“轻松”实现,所以我希望答案不应该引导我向数据提供者添加特殊字段或访问寻呼机,获取当前页码,然后乘以数字 谢谢你解决了这个问题吗?如果没有,我将为您提供以下解决方案 $this->widget( 'zii.widgets.grid.CGridView', array( 'columns'=>array(

在yii的CGridView中,我可以使用$row获取当前行号。但这只返回当前页面内的行索引。我真正需要的是得到所有页面中的绝对行数

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


谢谢你解决了这个问题吗?如果没有,我将为您提供以下解决方案

$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)',
      ),
    ),
  ));
基本上,您可以从数据提供程序访问currentpage和pagesize变量,并使用它计算整个数据的“行数”。为什么是$row+1?因为$row从0开始。希望这有帮助:D

也许这会有帮助: CDATA提供程序有一个属性“totalItemCount”,可用于:

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


更多详情请访问:

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