我有一个三列的 Gridview。Query列是PostgreSQL TEXT类型,在本例中有 9 行。
我只想显示所有行的前 4 行,否则我的表会太大。
根据指定的行数显示文本。
假设 DB 中的文本
已保存。太\n
你根据必要的分隔符来做...... <br>
或<p>
......
// Attribute name: text
[
'attribute' => 'text',
'format' => 'html',
'value' => function ($model) {
$array= array_chunk(explode('<br>', nl2br($model->text)),4);
return implode("<br>",$array[0]);
},
],
根据指定字符数显示文本
[
'attribute' => 'text',
'value' => function ($model) {
// without breaking the word
return mb_substr($model->text,0,strpos($model->text, ' ', 400));
// by breaking the word
return mb_substr($model->text, 0, 400, mb_detect_encoding($model->text))." ...";
},
],
根据元素宽度显示文本。最大宽度
[
'contentOptions' => ['style' => 'text-overflow: ellipsis; white-space: nowrap; max-width: 25vw; overflow: hidden;'],
'attribute' => 'text',
'value' => function ($model) {
return $model->text;
},
],
根据高度显示文本
注意:根据您的字体和要求更改高度。
[
'format' => 'raw',
'attribute' => 'text',
'value' => function ($model) {
return '<div style="line-height: 1.2em; height: 4.8em; overflow: hidden;">'.\yii\helpers\HtmlPurifier::process($model->text).'</div>';
},
],