Serial Numbers(item counts) in GridView

You are viewing revision #1 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.

next (#2) »

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**


[php] $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
5 followers
Viewed: 10 835 times
Version: Unknown (update)
Category: How-tos
Written by: PeRoChAk
Last updated by: Maurizio Domba Cerin
Created on: Oct 5, 2012
Last updated: 5 years ago
Update Article

Revisions

View all history