2013-03-25 43 views
0

我一直在通过互联网搜索我的问题的答案,但我还没有找到答案。我的问题是我有我的CGridView中包含一个blob的列。我的blob是由某些用户编写并可以编辑的评论。评论可以有单个句子或可以包含很多段落。在那种情况下,我想确保在我的CGridView中,段落之间的分隔是可见的。CGridView列中的多行

现在,我的CGridView显示评论,但不尊重线条。我怎么做?

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'grid-demande', 
'dataProvider'=>$dataProviderDemande, 
'emptyText'=>'No data', 
'cssFile'=>Yii::app()->request->baseUrl."/css/my_gridview.css", 
'columns'=>array 
(
    array(   
     'name'=>'ch_comment', 
     'type'=>'raw', 
     'htmlOptions'=>array('width'=>'21%'), 
    ), 
); 

回答

1

尝试了在GridView的列定义如下:

array(   
    'name'=>'ch_comment', 
    'value'=>'nl2br($data->ch_comment)', 
    'type'=>'raw', 
    'htmlOptions'=>array('width'=>'21%'), 
), 

这将转换换行符<br />标签,这应该解决您的问题。

+0

它完美的工作! – Philibobby 2013-03-25 16:26:29

0

你可以尝试改变type=>'raw'type=>'html'

4

您可以使用格式化“NTEXT”: http://www.yiiframework.com/doc/api/1.1/CFormatter#formatNtext-detail

在这种情况下,“列的阵列中只加:

'ch_comment:ntext', 
//short forme 
array(
    'name' => 'ch_comment', 
    'type' => 'ntext'), 
//long forme 
+0

欢迎来到SO!你可以提供一些额外的上下文来回答OP的好处,比如使用ntext的例子吗? – Derek 2013-12-13 15:28:28

+0

这应该真的被标记为解决方案。其他的“解决方案”只是黑客,真的。 – DaSourcerer 2013-12-13 18:30:36