在yii的 CGridView 中,我可以使用 $ row 获取当前行号。但是这仅返回当前页面中的行索引。我真正需要的是在所有页面中获得绝对行号。
我正在使用yii,所以我的梦想应该“轻松”实现,所以我希望答案不应该指导我向数据提供者添加一个特殊字段或访问寻呼机并获取当前页码然后乘以数字bla bla bla。
由于
答案 0 :(得分:28)
你解决了这个问题吗?如果没有,我会为您提供以下解决方案
$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
答案 1 :(得分:0)
也许这会有所帮助: CDataProvider有一个属性“totalItemCount”,可以使用:
例如:$ this-> grid-> dataProvider-> getTotalItemCount();
更多详情请见:http://www.yiiframework.com/doc/api/1.1/CDataProvider#totalItemCount-detail