PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, January 20, 2022

[FIXED] bootstrap.widgets.tbgridview add classname same as value

 January 20, 2022     yii     No comments   

Issue

I want to add class name so class name will be same as row value data

     $this->widget('bootstrap.widgets.TbGridView',array(
        'id'=>'testcaseResult-grid',
        'dataProvider'=>$model->search(),
            'filter'=>$model,
            'rowCssClassExpression'=>'"items[]_{$data->result_id}"',

        'columns'=>array(
          ....
            array(
                'name'=>'result_text',
                'headerHtmlOptions'=>array('style'=>'width:300px;text-align:center;'),
                'htmlOptions'=>array('class'=>'result_text'),
            ),
            array(
                'name'=>'result_severnity',
                'value'=> '$data->getResultSevernity()',
                'filter'=>$resultSevernityList,
                'htmlOptions'=>array('class'=>$data->getResultSevernity()),
                'headerHtmlOptions'=>array('style'=>'width:300px;text-align:center;'),
....
  1. In first field 'result_text' is field name in table. Which gives its value and I want classname as same value. But not 'result_text'.
  2. I have result_severnity which have different numerical value. I have created fubction in model to get specific string value for it. And I want same class name for it.

'htmlOptions'=>array('class'=>$data->getResultSevernity()),

My question is for No.2 To have same value for class name as it shown in row data, which is not working.

Thanks in advance for solution.


Solution

Finally got answer from my Guru. Instead of giving class name to self element adding a span tag with class name is great trick.

  • setting returned value with span tag
  • adding type => 'raw'
  • passing a parameter for adding span tag

'value'=> '$data->getResultSevernity('HTML')',

........     
array(
            'name'=>'result_severnity',
            'type' => 'raw',
            'value'=> '$data->getResultSevernity()',
            'filter'=>$resultSevernityList,
            'headerHtmlOptions'=>array('style'=>'width:300px;text-align:center;'),
....

model:
    public function getResultSevernity($type="")
        {
            $resultSevernity = $this->result_severnity;
            switch($resultSevernity)
            {
                case '0':
                    $returnText = t("common","severnity_none");
                    break;
                case '10':
                    $returnText = t("common","severnity_minor");
                    break;
                    ......
                }
            if($type=="HTML") {
                $class = "severnity_".$resultSevernity;
                $returnText = cHtmlTag($returnText, 'span', array('class'=>$class));
            }
            return $returnText;
        }


Answered By - Niral Shakya
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing