Display Status image on CGridView column

You are viewing revision #6 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 (#5)next (#7) »

How to display status image on admin gridview.

First you can create the UtilityHtml.php file in componet folder. (Otherwise which call a common file)

Put the below function in UtilityHtml.php file:

public static function getImagetitle($status) {
    if ($status == 1 || strtolower($status) == 'yes') {
        return 'Active';
    } else {
        return 'Inactive';
    }
}

public static function getStatusImage($status) {
    if ($status == 1 || strtolower($status) == 'yes') {
        return Yii::app()->request->baseUrl . '/images/checked.png';
    } else {
        return Yii::app()->request->baseUrl . '/images/unchecked.png';
    }
}

and display the grid view on admin.php file

array(
    'name'=>'is_active',
    'filter'=>array('1'=>'Active', '0'=>'Inactive'),
    'type'=>'html',
    'value'=>'CHtml::tag("div", array(
            "style"=>"text-align: center",
        ),
        CHtml::tag("img", array(
            "title"=>UtilityHtml::getImagetitle(GxHtml::valueEx($data, "is_active")),
            "src"=>UtilityHtml::getStatusImage(GxHtml::valueEx($data, "is_active")),
        ))
    )',
    'htmlOptions'=>array('width'=>"80px")
),