Eu estou desenvolvendo um formulário com uma Grid Offline, e me deparei com o seguinte problema: estou querendo alinhar as colunas da gride centralizadas e alterar o tamanho de algumas colunas. Tem como fazer isso, pois eu estou tentando de algumas formas e não consegui.
[]s
Eduardo Cajueiro
Autor: Eduardo Cajueiro
66 comentários
tem sim. A Classe TGrid oferece a possibilidade de adicionarmos alguns eventos para que possamos fazer algumas configurações durante sua construção. Veja no arquivo /base/classes/webform/TGrid.class.php a relação de todos. No seu caso você terá que utilizar o evento onDrawHeaderCell para definir a largura e o alinhamento da coluna quando esta for construída. Utilizando o codigo do arquivo /base/exemplos/exe_gride_3_dados.php fiz a seguinte alteração para aumentar a coluna "Moeda" para 250px e alinhamento para "center". O evento onDrawHeaderCell recebe 3 parametros:
1) a instância do objeto th ( Table Head) do cabecalho
2) a instância do objeto TGridColumn
3) a instância do objeto Header. Vamos precisar utilzar somente os 2 últimos. O objeto TGridColumn vai nos dizer qual é a coluna e o objeto Header vai receber a nova largura. Para adicionar o evento ao gride utilize o seguinte comando:
$grid->setOnDrawHeaderCell('minhaFuncao'); // a variável $grid é a sua instância da classe TGrid. e depois do comando $grid->show(); vamos programar a funcao "minha_funcao". function minha_funcao( $objTh, $objCol, $objHead )
{
if( $objCol->getFieldName() == 'NOM_MOEDA')
{
$objHead->setCss('width','250px');
$objCol->setTextAlign('center');
}
} Abraço.
{
if( $frm->get('nom_moeda')=='' )
{
$frm->addError('O campo Moeda é de preenchimento Obrigatório');
}
} Abraço.