Serial Numbers(item counts) in GridView

You are viewing revision #2 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version or see the changes made in this revision.

« previous (#1)next (#3) »

Sometime we need to display numbers of items per page with their counting as a serial number.

Here is How we can do it easily in Yii.

Extend CGridColumn

Yii::import('zii.widgets.grid.CGridColumn');
 
class CounterColumn extends CGridColumn {
 

}

We need to set starter value for the counter so, we have

private $i = 0;
    public function init(){
        $pager=$this->grid->dataProvider->pagination;
        if($pager->currentPage==0){
            $this->i=0;
        }else{
            $this->i=$pager->currentPage*$pager->pageSize;
        }
        
    }

We need to use display the value, so we have

public function renderDataCellContent($row, $data) { 
 
        $this->i++;
 
        echo $this->i;
    }

Complete code is as

Yii::import('zii.widgets.grid.CGridColumn');
 
class CounterColumn extends CGridColumn {
 
    private $i = 0;
    public function init(){
        $pager=$this->grid->dataProvider->pagination;
        if($pager->currentPage==0){
            $this->i=0;
        }else{
            $this->i=$pager->currentPage*$pager->pageSize;
        }
        
    }
    public function renderDataCellContent($row, $data) { // $row number is ignored
 
        $this->i++;
 
        echo $this->i;
    }
}

Using

$this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'categories-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		array(
                    'header'=>'Sr #',
                    'class'=>'CounterColumn'
                ),
		'id',
                'name',
		array(
                        'header'=>'Actions',
			'class'=>'CButtonColumn',
                )

)); 
0 0
4 followers
Viewed: 18 037 times
Version: Unknown (update)
Category: How-tos
Written by: PeRoChAk
Last updated by: Maurizio Domba Cerin
Created on: Oct 5, 2012
Last updated: 11 years ago
Update Article

Revisions

View all history