Alinhamento no CGridView

Pessoal

Estou começando no desenvolvimento com Yii e tenho gostado muito do framework.

Minha dúvida é a seguinte:

O alinhamento de texto das colunas de um grid é algo bastante variável.

Tem alguma forma rápida de alinhar um texto de uma coluna num CGridView?

Ou o jeito é atribuir uma class no htmlOptions e setar no CSS?

Obrigado.

Olá, André, seja bem-vindo

Particularmente, eu desabilito o css padrão do CGridView, mapeio as classes CSS e crio meu próprio arquivo, assim, não fico na dependência do CSS da framework e deixo a grid toda "ao meu gosto".

Um exemplo para elucidar:




<?php $this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'user-grid',

	'dataProvider'=>$model->search(),

	'filter'=>$model,


        //aqui digo que o estilo da paginação está em um arquivo css do meu tema atual, você pode usar qualquer outro

        'pager'=>array('cssFile'=>Yii::app()->theme->name .'/css/screen/'.Yii::app()->theme->name.'_yii_main.css'),


        //aqui digo ao Yii para não carregar os estilos padrão para a Grid

        'cssFile'=>false,


        //aqui personalizo como deve ser exibido o texto sobre a grid, dizendo quantos registros está exibindo

        'summaryText'=>Yii::t('backend', 'Showing {start} - {end} of {count}'),


        //aqui defino que a div que cerca o grid terá as classes CSS grid-view, que é o nome padrão e rounded, que é minha classe de bordas arredondadas, então eu personalizo as classes em algum arquivo css que está no meu tema, e assim a grid varia de estilo de acordo com o tema

        'htmlOptions'=>array('class'=>'grid-view rounded'),




	'columns'=>array(

		'userId',

		'userLoginName',

		'userDisplayName',

		'userEmail',


		array(

			'class'               => 'CButtonColumn',


                        //aqui eu troco as imagens dos botões da grid para imagens no meu tema (imageUrl é uma propriedade que eu criei, não é padrão do Yii)

                        'deleteButtonImageUrl'=> $this->imageUrl. 'gr-delete.png',

                        'viewButtonImageUrl'  => $this->imageUrl. 'gr-view.png',

                        'updateButtonImageUrl'=> $this->imageUrl. 'gr-update.png',

		),

	),


)); ?>




Espero que isso te dê uma idéia, acho que o jeito mais fácil é abrir o firebug e ver qual classe está associada ao texto que você quer alinhar e fazer o teste com o CSS mesmo.

Abraços!!!

:)

Obrigado pela dica.

O exemplo passado é muito bom quando quiser dar uma geral no estilo do Grid.

Valeu!