如何在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',
),
),
)); ?>