GridView ve ListView'ımdaki dizeleri (not set)
nasıl silebilirim veya değiştirebilirim? Ben (şimdi) biliyorumYii2: "(ayarlanmamış)" öğesini GridView ve null değerleri için DetailView öğesinden kaldırın
cevap
iki yolu:
Biçimlendirici boş dışında bir
Seti nullDisplay of Formatter. Bunu global konfigürasyonda veya tek GridView veya DetailView için yapabilirsiniz.
Genel (tipik içinde config/web.php
veya <application>/config/main.php
dosya):
'components' => [
...
'formatter' => [
'class' => 'yii\i18n\Formatter',
'nullDisplay' => '',
],
...
],
belli GridView içinde (DetailView ile aynı): Set
<?= GridView::widget([
'dataProvider' => $myProvider,
'formatter' => ['class' => 'yii\i18n\Formatter','nullDisplay' => ''],
'columns' => [
...
],
]); ?>
değeri
Muhtemelen çok zarif değil . Belli bir GridView:
<?= 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) : '',
],
...
],
]) ?>
İki ipuçları çeşitli yaklaşımlar aynı anda kullanılırsa
: değeri (doğrudan veya tarafından ayarını
<?= 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 '';
}
},
],
...
],
]); ?>
Veya belli bir DetailView içinde
işlevi), Izgara/Ayrıntı Görünümünün biçimlendirici yapılandırmasını geçersiz kılar ve bu da genel bir biçimlendirici yapılandırmasını geçersiz kılar.Ayrıca boş bir dizeden farklı bir şey tanımlayabilirsiniz. Örneğin. bootstrap kullanılırsa, eksik değerler için bir sembol almak için '<span class="glyphicon glyphicon-question-sign"></span>'
'u kullanmak isteyebilirsiniz.
nullDisplay yöntemini ayarlamanızı tavsiye etmem. Eriştiğiniz değişkenin boş olup olmadığını kontrol etmek en iyi yöntemdir.
yapardım
//model code
public function getProjectName()
{
$project = $this->project;
return ($project) ? $project->name : '';
}
//your gridview
<?= GridView::widget([
'dataProvider' => $myProvider,
'columns' => [
...
[
'attribute' => 'some_attribute',
'format' => 'raw',
'value' => function (ModelClass $model) {
$model->projectName;
},
],
...
],
]); ?>
seti emptycell içinde gridveiw yapılandırma:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'emptyCell'=>'-',
'columns' => [
['class' => 'yii\grid\SerialColumn'],
.........
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
veya:
'attribute' => 'description',
'label' => Yii::t('app', 'description'),
'value' => function($data) {
return !empty($data->description) ? $data->description : '-';
}
Bu doğru değil. Dokümantasyon olarak, emptyCell hiçbir şey iade edilmediğinde göstermektir. – Prescol
kartik\grid\GridView
için;
'class' => 'kartik\grid\EditableColumn',
'attribute'=>'myAttribute',
'header' => 'myHeader',
'editableOptions' => [
'inputType' => \kartik\editable\Editable::INPUT_TEXT,
'valueIfNull' => '-',
/**
* @var string the value to be displayed. If not set, this will default to the attribute value. If the attribute
* value is null, then this will display the value as set in [[valueIfNull]].
*/
public $displayValue;
- 1. yii2 gridview hasMany retionship
- 2. kullanma yii2 en gridview
- 3. Yii2 url'den index.php'yi kaldırın
- 4. gridview öğesinden bir öğe oluştur
- 5. Yii2 GridView Özelleştirme Add Row
- 6. Yii2 tableName dönüş değerleri
- 7. Yii2: Bağımlılık Açma Listesi öğesini aramak için
- 8. Açısal 2 öznitelik yönerge değerleri undefined ve doğru ayarlanmamış
- 9. ember-cli-mirage öğesini kaldırın
- 10. QWebEngineView veya QWebEnginePage öğesinden ScrollBars'ı kaldırın
- 11. json ayrışması; null değerleri
- 12. JPA, PostgreSQL ve NULL değerleri ile JodaTime
- 13. GridView öğesini özel bir nesneye nasıl bağlarım?
- 14. GridView satırında DataKey değerleri alın RowCommand
- 15. Kendo ui ızgarasından Columnmenu.columns öğesini kaldırın.
- 16. Boşsa bir div öğesini kaldırın veya gizleyin
- 17. Gridview Select Dizin Değiştirme Null Value Dönen
- 18. ArrayList öğesini 0 ve 1 endeksi ile kaldırın
- 19. SQLServer Değerleri Bulur Değer Null
- 20. NSMutableArray öğesinden [NSNull Null] nesnelerini nasıl kaldırabilirim?
- 21. DetailView widget'ında bir öznitelik değerinin değiştirilmesi
- 22. GridView
- 23. bu. $ Http vueJs ayarlanmamış
- 24. PHP cURL içerik türü ayarlanmamış
- 25. Codeception ve Yii2
- 26. SQL sorgusu: Sola topla işlevini kullanırken NULL olmamalıdır NULL değerleri
- 27. PHP zaman ayarlanmamış
- 28. Takvim görünümü için GridView
- 29. Yii2'deki dropDownList Yii2
- 30. Alembic: IntegrityError: "sütun null değerleri içerir" null olmayan sütun
Her öğeyi null olarak denetlemek, biçimlendiriciyi null değerine ayarlamaktan daha iyidir. Açıkla –