Yii2:在GridView中删除“(未设置)”,对于空值删除DetailView
发布时间:2020-12-13 17:29:11 所属栏目:PHP教程 来源:网络整理
导读:如何在GridView和ListView中删除或替换字符串(未设置)? 我知道的两种方式(现在): 格式化 将nullDisplay of Formatter设置为null以外的值.您可以在全局配置或单个GridView或DetailView中执行此操作. 全局(通常在config / web.php或 application /config/mai
如何在GridView和ListView中删除或替换字符串(未设置)?
我知道的两种方式(现在):
格式化 将nullDisplay of Formatter设置为null以外的值.您可以在全局配置或单个GridView或DetailView中执行此操作. 全局(通常在config / web.php或< application> /config/main.php文件中): 'components' => [ ... 'formatter' => [ 'class' => 'yiii18nFormatter','nullDisplay' => '',],... ], 在某些GridView中(与DetailView相同): <?= GridView::widget([ 'dataProvider' => $myProvider,'formatter' => ['class' => 'yiii18nFormatter','nullDisplay' => ''],'columns' => [ ... ],]); ?> 设置值 可能不是那么优雅在某个GridView中: <?= GridView::widget([ 'dataProvider' => $myProvider,'columns' => [ ... [ 'attribute' => 'some_attribute','format' => 'raw','value' => function (ModelClass $model) { if ($model->some_attribute != null) { return $model->some_attribute; //or: return Html::encode($model->some_attribute) } else { return ''; } },... ],]); ?> 或在一定的DetailView中: <?= DetailView::widget([ 'model' => $model,'attributes' => [ ... [ 'attribute' => 'some_attribute','value' => $model->some_attribute != null ? $model->some_attribute : '',//or: 'value' => $model->some_attribute != null ? Html::encode($model->some_attribute) : '',]) ?> 两个提示 如果同时使用多种方法:设置值(直接或通过函数)将覆盖Grid / DetailView的格式化程序配置,这反过来将覆盖全局格式化程序配置. 您还可以定义与空字符串不同的内容.例如.如果使用引导,您可能需要使用“< span class =”glyphicon glyphicon-question-sign“>< / span>‘获取缺少值的符号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |