如何在Yii中的CGridView中进行较小的文本描述

如何在Yii中的CGridView中进行较小的文本描述

问题描述:

I have that code in my admin.php i.e. view file in my Yii Project.

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'topic-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'name',
        'description:html',  // I want to change this
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

Actually description:html is showing a lot of text description which is stored in my database.

So my question is that, I want to print just a single line of description here.

So I don't know how to accomplish it.

Any help will be appreciated.

Thanks.

我在我的yii项目中的admin.php即视图文件中有该代码。 p> \ n

 &lt;?php $ this-&gt; widget('zii.widgets.grid.CGridView',array(
'id'=&gt;'topic-grid',
'dataProvider'=  &gt; $ model-&gt; search(),
'filter'=&gt; $ model,
'columns'=&gt; array(
'id',
'name',
'description:html  ',//我想改变这个
数组(
'class'=&gt;'CButtonColumn',
),
),
));  ?&gt; 
  code>  pre> 
 
 

实际上 description:html code>显示了很多文本描述,存储在我的数据库中。 p> \ n

所以我的问题是,我想在这里打印一行描述。 strong> p>

所以我不知道如何 完成它。 p>

任何帮助将不胜感激。 p>

谢谢。 p> div>

Although hett has given an answer but you can do this also

array(
            'name'=>'description',
            'value'=>array($this,'showFewLines')
        ),

and then in your controller create a function

public function showFewLines($data,$row)
{
$allData=$data->description;
return substr($allData, 0, 40);
}

somehow

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'topic-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'name',
        array(
            'name'=>'description',
            'value'=>function($data) {
                return substr($data->description, 0, strpos($data->description, '<br>'));
            },
        ),
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>