热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ModiftyGridView::Widget内容Yii

我正在尝试修改从Yii框架网站上的Gii教程获得的GridView字段。

我正在尝试修改从Yii框架网站上的Gii教程获得的GridView字段。

GII PAGE

我对填充字段的外观不满意,因此我尝试使用一些分隔符对其进行转换。

这是“国家/地区视图”的index.php

GridView::widget([
'dataProvider' => $dataProvider,'filterModel' => $searchModel,'columns' => [
['class' => 'yii\grid\SerialColumn'],'code','name',[
'label' => 'Population','value' => 'population',/* 'value' => Yii::$app->formatter->asDecimal((integer)population) */
/* 'value' => Yii::$app->formatter->asDecimal($model->population) */
/* 'value' => Yii::$app->formatter->asDecimal('population') */
/*'value' => Yii::$app()->format->number('population')*/
],['class' => 'yii\grid\actionColumn'],],]);
?>

我不知道为什么在CountryModel中人口字段被列为整数:

['population'],'integer'

然后当我尝试在视图中转换它时,我遇到了一些问题,因为“人口”基本上是一个字符串。

我评论了一些尝试。


您可以使用yii\i18n\Formatter

如果使用的是 common\config\main.php ,请转到app-advanced;如果使用的是 app/config/main.php ,请转到app-basic,然后添加在components数组下。

'formatter' => [
'thousandSeparator' => ',',],

现在您可以像下面这样格式化任何给定的数字

GridView::widget([
'dataProvider' => $dataProvider,'filterModel' => $searchModel,'columns' => [
['class' => 'yii\grid\SerialColumn'],'code','name',[
'attribute' => 'population','label' => 'Population','value' => function($model){
return Yii::$app->formatter->asInteger($model->population); //Output 1,000
},['class' => 'yii\grid\ActionColumn'],]);
?>

更新:就像评论中提到的那样,您还可以使用这两种技术来格式化值:

//Gridview
....
[
'attribute' => 'population','format' => 'integer',....

和/或:

//Gridview
....
'population:integer',....

推荐阅读
author-avatar
小天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有