Question

Je suis nouveau sur le framework Yii et je viens de commencer à travailler sur un site Web existant.J'ai une page de liste et mon exigence était d'ajouter un nouveau champ « review_date_time » et j'ai pu réussir à l'afficher dans la liste.Maintenant, ma question est de savoir comment changer le format de la date et comment afficher un espace blanc si la date n'est pas présente dans le champ du tableau. À l'heure actuelle, elle affiche 0000-00-00 00:00:00 si aucune date n'est présente.

Mon code pour l'inscription

 $this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'series-grid',
    'dataProvider' => $model->search(),
    'filter' => $model,
    'columns' => array(
                    array('header' => 'Category', 'name' => 'category.title'),
                    'exam_year',
                    'title',
                    'review_date_time',
                    array(
                        'class' => 'CButtonColumn',
                    ),
    ),
 ));
Était-ce utile?

La solution

S'il s'affiche 0000-00-00 00:00:00 alors cela signifie que cette valeur est la valeur par défaut dans la table de base de données, vous devrez donc utiliser le value propriété de CDataColumn :

$this->widget('zii.widgets.grid.CGridView', array(
 'id' => 'series-grid',
 'dataProvider' => $model->search(),
 'filter' => $model,
 // 'nullDisplay'=>'',
 'columns' => array(
                array('header' => 'Category', 'name' => 'category.title'),
                'exam_year',
                'title',
                // 'review_date_time',
                array(
                    'name'=>'review_date_time',
                    'value'=>'$data->review_date_time=="0000-00-00 00:00:00"?"":$data->review_date_time'
                )
                array(
                    'class' => 'CButtonColumn',
                ),
 ),
));

Ou essayez le nullDisplay propriété de CGridView (si vous stockez null et remplacez afterFind pour formater null comme 0000-00-00 00:00:00) :

$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'series-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'nullDisplay'=>'',
'columns' => array(
                array('header' => 'Category', 'name' => 'category.title'),
                'exam_year',
                'title',
                'review_date_time',
                array(
                    'class' => 'CButtonColumn',
                ),
 ),
));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top