2011-04-29 56 views
8

在yii的CGridView我可以通過使用$ row來獲取當前行號。但是,這僅返回當前頁面內的行索引。我真正需要的是在所有頁面中獲得絕對行號。獲取網格中的絕對行號

我使用yii,所以我的夢想應該成爲「容易」,所以我期望答案不應該引導我添加一個特殊字段到數據提供者或訪問尋呼機並獲取當前頁碼,然後乘數字bla bla bla。

謝謝

+0

好問題。我很好奇:爲什麼你需要這個?我猜這將需要一個小的自定義代碼,因爲你的問題位於DataProvider(它是分頁,而不是CGridView)。 – joostdevries 2011-04-29 16:29:47

+0

@ DV98,感謝您的反饋和關於DataProvider的信息。我只需要在網格中添加一個序列號。夠公平,嗯? – mmonem 2011-04-29 19:07:56

回答

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

基本上就可以從數據提供器訪問當前頁和頁面大小變量,你用它來計算整個數據的「行號」。爲什麼$ row + 1?因爲$行從0希望這有助於啓動:d

+1

非常有幫助謝謝@ZaQ – nu6A 2012-05-10 12:42:39

+0

冠軍,冠軍 – surfer190 2016-04-15 13:17:56

+0

我在2016年,感謝令人震撼的定製@。@ – Davuz 2016-04-26 17:20:03