首页 > PHP资讯 > PHP培训技术 > 限定CGridView字段的预设宽度

限定CGridView字段的预设宽度

PHP培训技术

有时 grdiview 列里面的文字会很长。这是为什么我找方法来实现较小的列,但仍然提供信息。

看下面的例子,看看鼠标悬停到文本时会发生什么。

Create test acco...

正确:当鼠标悬停的时候完整的信息就会显示出来。

当你在后台需要在网格中显示大量信息时,这非常棒。如果你想要更漂亮的效果,你可以实现使用 Bootstrap 提示及类似的方式。这篇文章的目的是提供一个方法来做到这一点(这本身已经工作!)。

该方法包括:

  1. 创建新的格式化方法。
  2. 参考 CGridView 列规范中的格式化方法

1) a) 创建格式化方法:

class YFormatter extends CFormatter { /**     *     * Text formatter shortening long texts and displaying the full text     * as the span title.     *     * To be used in GridViews for instance.     * @param string $value     * @return string  Encoded and possibly html formatted string ('span' if the text is long). */ public function formatShortText($value) { $retval=CHtml::encode($value); if(strlen($value)>$this->shortTextLimit) { $retval=CHtml::tag('span',array('title'=>$retval),CHtml::encode(substr($value,0,$this->shortTextLimit-3).'...')); } return $retval; } }

1) b) 确保在项目配置中配置了刚刚创建的格式器:在 config.php 文件的format组件那制定格式器的类:

'components'=>array( 'format'=>array( 'class'=>'YFormatter', ), ),

2) 在 gridview 中制定shortText作为格式化程序(因为我们称我们的格式化程序方法为formatShortText)

'columns'=>array( array('name'=>'description', 'type'=>'shortText'), ),

完成了,你还可以很容易的添加其他类似的格式器(formatter)

本文翻译自外文网站,查看原文请点击:

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持9不支持0