Coluna datagrid com link Amigos, Alguém sabe informar como tornar uma coluna do datagrid em um link?...
ST
Coluna datagrid com link  
Amigos,
Alguém sabe informar como tornar uma coluna do datagrid em um link?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (8)


MG

Acho que poder usar "$column->setTransformer()"
Na versão 4 tem um novo componente, nunca fiz mas acredito que possa usar.

adianti.com.br/framework_files/tutor/index.php?class=TextLinkView
ST

Boa tarde Marcelo,
Preciso de um link no datagrid.
O exemplo mostra como fazer um link no formulário.
ST

Marcelo,
Preciso de um exemplo que mostre no datagrid.
MG

Use o set transformer na coluna e adicione o link, por exemplo:

Tenta assim na coluna que deseja criar o link

<?php    $column->setTransformer(function($value, $object, $row){          $link = new THyperLink('Hyper Link (url)', 'http://www.google.com', 'orange', 12, 'biu');           return $link;    ));?>
ST

Marcelo bom dia,

Após inserção do código o formulário está ficando em branco.
Veja o código:

Modelo:

<?php/** * Perdcomp Active Record * @author  <your-name-here> */class Perdcomp extends TRecord{    const TABLENAME = 'perdcomp';    const PRIMARYKEY= 'perdcomp_id';    const IDPOLICY =  'max'; // {max, serial}            private $origem_documento;    private $tipo_credito;    private $tipo_documento;    private $tipo_imposto;    private $system_user;     /**     * Constructor method     */    public function __construct($id = NULL, $callObjectLoad = TRUE)    {        parent::__construct($id, $callObjectLoad);        parent::addAttribute('DataCriacao');        parent::addAttribute('DataTransmissao');        parent::addAttribute('Sequencial');        parent::addAttribute('Nr_PERDCOMP');        parent::addAttribute('TipoDocumento_id');        parent::addAttribute('OrigemDocumento_id');        parent::addAttribute('TipoCredito_id');        parent::addAttribute('SaldoDeclarado');        parent::addAttribute('Exercicio');        parent::addAttribute('TipoImposto_ID');        parent::addAttribute('ValorCompensado');        parent::addAttribute('Competencia');        parent::addAttribute('PERDCOMP_Original');        parent::addAttribute('Situacao');        parent::addAttribute('Cancelamento');        parent::addAttribute('CreditoOriginalInicial');        parent::addAttribute('CreditoOriginalUtilizadoCompensacoes');        parent::addAttribute('CreditoOriginalDisponivel');        parent::addAttribute('CreditoOriginalTransmissao');        parent::addAttribute('SelicAcumulada');        parent::addAttribute('CreditoAtualizado');        parent::addAttribute('DebitosDocumento');        parent::addAttribute('CreditoOriginalUtilizadoDocumento');        parent::addAttribute('SaldoCreditoOriginal');        parent::addAttribute('system_unit_id');        parent::addAttribute('GED');        parent::addAttribute('system_user_id');    }        /**     * Method set_origem_documento     * Sample of usage: $perdcomp->origem_documento = $object;     * @param $object Instance of OrigemDocumento     */    public function set_origem_documento(OrigemDocumento $object)    {        $this->origem_documento = $object;        $this->origem_documento_id = $object->OrigemDocumento_id;    }        /**     * Method get_origem_documento     * Sample of usage: $perdcomp->origem_documento->attribute;     * @returns OrigemDocumento instance     */    public function get_origem_documento()    {        // loads the associated object        if (empty($this->origem_documento))            $this->origem_documento = new OrigemDocumento($this->OrigemDocumento_id);            // returns the associated object        return $this->origem_documento->OrigemDocumentoDescricao;    }            /**     * Method set_tipo_credito     * Sample of usage: $perdcomp->tipo_credito = $object;     * @param $object Instance of TipoCredito     */    public function set_tipo_credito(TipoCredito $object)    {        $this->tipo_credito = $object;        $this->tipo_credito_id = $object->TipoCredito_id;    }        /**     * Method get_tipo_credito     * Sample of usage: $perdcomp->tipo_credito->attribute;     * @returns TipoCredito instance     */    public function get_tipo_credito()    {        // loads the associated object        if (empty($this->tipo_credito))            $this->tipo_credito = new TipoCredito($this->TipoCredito_id);            // returns the associated object        return $this->tipo_credito->TipoCreditoDescricao;                    }                 /**     * Method set_tipo_documento     * Sample of usage: $perdcomp->tipo_documento = $object;     * @param $object Instance of TipoDocumento     */    public function set_tipo_documento(TipoDocumento $object)    {        $this->tipo_documento = $object;        $this->tipo_documento_id = $object->TipoDocumento_id;    }        /**     * Method get_tipo_documento     * Sample of usage: $perdcomp->tipo_documento->attribute;     * @returns TipoDocumento instance     */    public function get_tipo_documento()    {        // loads the associated object        if (empty($this->tipo_documento))            $this->tipo_documento = new TipoDocumento($this->TipoDocumento_id);            // returns the associated object        return $this->tipo_documento->TipoDocumentoDescricao;    }            /**     * Method set_tipo_imposto     * Sample of usage: $perdcomp->tipo_imposto = $object;     * @param $object Instance of TipoImposto     */    public function set_tipo_imposto(TipoImposto $object)    {        $this->tipo_imposto = $object;        $this->tipo_imposto_id = $object->TipoImposto_ID;    }        /**     * Method get_tipo_imposto     * Sample of usage: $perdcomp->tipo_imposto->attribute;     * @returns TipoImposto instance     */    public function get_tipo_imposto()    {        // loads the associated object        if (empty($this->tipo_imposto))            $this->tipo_imposto = new TipoImposto($this->TipoImposto_ID);            // returns the associated object        return $this->tipo_imposto->TipoImposto_Descricao;    }        public function set_system_user(SystemUser $object)    {        $this->system_user = $object;        $this->system_user_id = $object->id;    }        /**     * Method get_system_user     * Sample of usage: $perdcomp->system_user->attribute;     * @returns SystemUser instance     */    public function get_system_user()    {        // loads the associated object        if (empty($this->system_user))            $this->system_user = new SystemUser($this->system_user_id);            // returns the associated object        return $this->system_user;    } }Formulário:
<?php/** * PerdcompForm Registration * @author  <your name here> */class PerdcompForm extends TPage{    protected $form; // form        use Adianti\Base\AdiantiStandardFormTrait; // Standard form methods        /**     * Class constructor     * Creates the page and the registration form     */    function __construct()    {        parent::__construct();                $this->setDatabase('perdcomp');              // defines the database        $this->setActiveRecord('Perdcomp');     // defines the active record                // creates the form        $this->form = new TQuickForm('form_Perdcomp');        $this->form->class = 'tform'; // change CSS class                $this->form->style = 'display: table;width:100%'; // change style                // define the form title        $this->form->setFormTitle('Perdcomp');                       // create the form fields        $perdcomp_id = new TEntry('perdcomp_id');        $DataCriacao = new TDate('DataCriacao');        //$DataCriacao = new TTextDisplay(TDate::convertToMask('DataCriacao', 'yyyy-mm-dd', 'dd/mm/yyyy'));        $DataTransmissao = new TDate('DataTransmissao');        $Sequencial = new TEntry('Sequencial');        $Nr_PERDCOMP = new TEntry('Nr_PERDCOMP');        $TipoDocumento_id           = new 
">TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'tipo_documento');        $TipoDocumentoDescricao     = new TEntry('tipo_documento');        $OrigemDocumento_id       = new 
">TDBSeekButton('OrigemDocumento_id', 'perdcomp', $this->form->getName(), 'OrigemDocumento', 'OrigemDocumentoDescricao', 'OrigemDocumento_id', 'origem_documento');        $OrigemDocumentoDescricao = new TEntry('origem_documento');        $TipoCredito_id       = new 
">TDBSeekButton('TipoCredito_id', 'perdcomp', $this->form->getName(), 'TipoCredito', 'TipoCreditoDescricao', 'TipoCredito_id', 'tipo_credito');        $TipoCreditoDescricao = new TEntry('tipo_credito');        $SaldoDeclarado = new TEntry('SaldoDeclarado');        $Exercicio = new TEntry('Exercicio');        $TipoImposto_ID       = new 
">TDBSeekButton('TipoImposto_ID', 'perdcomp', $this->form->getName(), 'TipoImposto', 'TipoImposto_Descricao', 'TipoImposto_ID', 'tipo_imposto');        $TipoImposto_Descricao = new TEntry('tipo_imposto');        $ValorCompensado = new TEntry('ValorCompensado');        $Competencia = new TDate('Competencia');        $PERDCOMP_Original = new TEntry('PERDCOMP_Original');        $Situacao = new TEntry('Situacao');        $Cancelamento = new TEntry('Cancelamento');        $CreditoOriginalInicial = new TEntry('CreditoOriginalInicial');        $CreditoOriginalUtilizadoCompensacoes = new TEntry('CreditoOriginalUtilizadoCompensacoes');        $CreditoOriginalDisponivel = new TEntry('CreditoOriginalDisponivel');        $CreditoOriginalTransmissao = new TEntry('CreditoOriginalTransmissao');        $SelicAcumulada = new TEntry('SelicAcumulada');        $CreditoAtualizado = new TEntry('CreditoAtualizado');        $DebitosDocumento = new TEntry('DebitosDocumento');        $CreditoOriginalUtilizadoDocumento = new TEntry('CreditoOriginalUtilizadoDocumento');        $SaldoCreditoOriginal = new TEntry('SaldoCreditoOriginal');        $GED = new TFile('GED');              // $Empresa_id       = new TDBSeekButton('Empresa_id', 'perdcomp', $this->form->getName(), 'Empresa', 'EmpresaNome', 'Empresa_id', 'empresa');        //$EmpresaNome = new TEntry('empresa');                   $TipoDocumentoDescricao->setEditable(FALSE);        $TipoDocumento_id->setSize('40');        $TipoDocumentoDescricao->setSize('500');        $OrigemDocumentoDescricao->setEditable(FALSE);        $OrigemDocumento_id->setSize('40');        $OrigemDocumentoDescricao->setSize('500');        $TipoCreditoDescricao->setEditable(FALSE);        $TipoCredito_id->setSize('40');        $TipoCreditoDescricao->setSize('500');        $TipoImposto_Descricao->setEditable(FALSE);        $TipoImposto_ID->setSize('40');        $TipoImposto_Descricao->setSize('500');       // $EmpresaNome->setEditable(FALSE);       // $Empresa_id->setSize('40');        //$EmpresaNome->setSize('500');                    $SaldoDeclarado->setNumericMask(2, ',', '.', TRUE);        $ValorCompensado->setNumericMask(2, ',', '.', TRUE);        $CreditoOriginalInicial->setNumericMask(2, ',', '.', TRUE);        $CreditoOriginalUtilizadoCompensacoes->setNumericMask(2, ',', '.', TRUE);        $CreditoOriginalDisponivel->setNumericMask(2, ',', '.', TRUE);        $CreditoOriginalTransmissao->setNumericMask(2, ',', '.', TRUE);        $SelicAcumulada->setNumericMask(2, ',', '.', TRUE);        $CreditoAtualizado->setNumericMask(2, ',', '.', TRUE);        $DebitosDocumento->setNumericMask(2, ',', '.', TRUE);        $CreditoOriginalUtilizadoDocumento->setNumericMask(2, ',', '.', TRUE);        $SaldoCreditoOriginal->setNumericMask(2, ',', '.', TRUE);        $Nr_PERDCOMP->setMask('99999.99999.999999.9.9.99-9999');        $PERDCOMP_Original->setMask('99999.99999.999999.9.9.99-9999');                      // add the fields        $this->form->addQuickField('Código:', $perdcomp_id,  100 );        $this->form->addQuickField('Data Criação:', $DataCriacao,  100 );        $this->form->addQuickField('Data Transmissão:', $DataTransmissao,  100 );        $this->form->addQuickField('Sequencial:', $Sequencial,  200 );        $this->form->addQuickField('Nº Perdcomp:', $Nr_PERDCOMP,  200 );        $this->form->addQuickField('GED:', $GED,  500 );        $this->form->addQuickFields('Tipo Documento:', [ $TipoDocumento_id, $TipoDocumentoDescricao ] );             $this->form->addQuickFields('Origem Documento:', [ $OrigemDocumento_id, $OrigemDocumentoDescricao ] );             $this->form->addQuickFields('Tipo Crédito:', [ $TipoCredito_id, $TipoCreditoDescricao] );             $this->form->addQuickField('Saldo Declarado:', $SaldoDeclarado,  100 );        $this->form->addQuickField('Exercicio:', $Exercicio,  100 );        $this->form->addQuickFields('Tipo Imposto:', [ $TipoImposto_ID, $TipoImposto_Descricao] );             $this->form->addQuickField('Valor Compensado:', $ValorCompensado,  100 );        $this->form->addQuickField('Competência:', $Competencia,  100 );        $this->form->addQuickField('Perdcomp Original:', $PERDCOMP_Original,  200 );        $this->form->addQuickField('Situação:', $Situacao,  200 );        $this->form->addQuickField('Cancelamento:', $Cancelamento,  200 );        $this->form->addQuickField('Crédito Original Inicial:', $CreditoOriginalInicial,  100 );        $this->form->addQuickField('Crédito Original Utilizado Compensações:', $CreditoOriginalUtilizadoCompensacoes,  100 );        $this->form->addQuickField('Crédito Original Disponível:', $CreditoOriginalDisponivel,  100 );        $this->form->addQuickField('Crédito Original Transmissão:', $CreditoOriginalTransmissao,  100 );        $this->form->addQuickField('Selic Acumulada:', $SelicAcumulada,  100 );        $this->form->addQuickField('Crédito Atualizado:', $CreditoAtualizado,  100 );        $this->form->addQuickField('Débitos Documento:', $DebitosDocumento,  100 );        $this->form->addQuickField('Crédito Original Utilizado Documento:', $CreditoOriginalUtilizadoDocumento,  100 );        $this->form->addQuickField('Saldo Crédito Original:', $SaldoCreditoOriginal,  100);       // $this->form->addQuickFields('Unidade:', [ $Empresa_id, $EmpresaNome ], new TRequiredValidator );                             if (!empty($perdcomp_id))        {            $perdcomp_id->setEditable(FALSE);        }                /** samples         $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields         $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation         $fieldX->setSize( 100, 40 ); // set size         **/                 // create the form actions        $this->form->addQuickAction(_t('Save'), new TAction(array($this, 'onSave')), 'fa:floppy-o');        $this->form->addQuickAction(_t('New'),  new TAction(array($this, 'onEdit')), 'bs:plus-sign green');        $this->form->addQuickAction(_t('Back to the listing'), new TAction(array('PerdcompList', 'onReload')), 'fa:table blue');                  // vertical box container        $container = new TVBox;        $container->style = 'width: 90%';        // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));        $container->add($this->form);                parent::add($container);                    }}datagrid:
<?php/** * PerdcompList Listing * @author  <your name here> */class PerdcompList extends TStandardList{    protected $form;     // registration form    protected $datagrid; // listing    protected $pageNavigation;    protected $formgrid;    protected $deleteButton;    protected $transformCallback;        /**     * Page constructor     */    public function __construct()    {        parent::__construct();                parent::setDatabase('perdcomp');            // defines the database        parent::setActiveRecord('Perdcomp');   // defines the active record        parent::setDefaultOrder('perdcomp_id', 'asc');         // defines the default order        // parent::setCriteria($criteria) // define a standard filter        parent::addFilterField('perdcomp_id', 'like', 'perdcomp_id'); // filterField, operator, formField        parent::addFilterField('DataCriacao', 'like', 'DataCriacao'); // filterField, operator, formField        parent::addFilterField('DataTransmissao', 'like', 'DataTransmissao'); // filterField, operator, formField        parent::addFilterField('Sequencial', 'like', 'Sequencial'); // filterField, operator, formField        parent::addFilterField('Nr_PERDCOMP', 'like', 'Nr_PERDCOMP'); // filterField, operator, formField        parent::addFilterField('TipoDocumento_id', 'like', 'TipoDocumento_id'); // filterField, operator, formField        parent::addFilterField('OrigemDocumento_id', 'like', 'OrigemDocumento_id'); // filterField, operator, formField        parent::addFilterField('TipoCredito_id', 'like', 'TipoCredito_id'); // filterField, operator, formField        parent::addFilterField('SaldoDeclarado', 'like', 'SaldoDeclarado'); // filterField, operator, formField        parent::addFilterField('Exercicio', 'like', 'Exercicio'); // filterField, operator, formField        parent::addFilterField('TipoImposto_ID', 'like', 'TipoImposto_ID'); // filterField, operator, formField                // creates the form        $this->form = new TQuickForm('form_search_Perdcomp');        $this->form->class = 'tform'; // change CSS class                $this->form->style = 'display: table;width:100%'; // change style        $this->form->setFormTitle('Filtro Perdcomp');                // create the form fields        $perdcomp_id = new TEntry('perdcomp_id');        $DataCriacao = new TDate('DataCriacao');        $DataTransmissao = new TDate('DataTransmissao');        $Nr_PERDCOMP = new TEntry('Nr_PERDCOMP');        $TipoDocumento_id       = new 
">TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'tipo_documento');        $TipoDocumentoDescricao = new TEntry('tipo_documento');        $TipoCredito_id       = new 
">TDBSeekButton('TipoCredito_id', 'perdcomp', $this->form->getName(), 'TipoCredito', 'TipoCreditoDescricao', 'TipoCredito_id', 'tipo_credito');        $TipoCreditoDescricao = new TEntry('tipo_credito');        $OrigemDocumento_id       = new 
">TDBSeekButton('OrigemDocumento_id', 'perdcomp', $this->form->getName(), 'OrigemDocumento', 'OrigemDocumentoDescricao', 'OrigemDocumento_id', 'origem_documento');        $OrigemDocumentoDescricao = new TEntry('origem_documento');        $TipoImposto_ID       = new 
">TDBSeekButton('TipoImposto_ID', 'perdcomp', $this->form->getName(), 'TipoImposto', 'TipoImposto_Descricao', 'TipoImposto_ID', 'tipo_imposto');        $TipoImposto_Descricao = new TEntry('tipo_imposto');        $Exercicio = new TEntry('Exercicio');               $TipoDocumentoDescricao->setEditable(FALSE);        $TipoDocumento_id->setSize('40');        $TipoDocumentoDescricao->setSize('500');                $TipoCreditoDescricao->setEditable(FALSE);        $TipoCredito_id->setSize('40');        $TipoCreditoDescricao->setSize('500');                $OrigemDocumentoDescricao->setEditable(FALSE);        $OrigemDocumento_id->setSize('40');        $OrigemDocumentoDescricao->setSize('500');             $TipoImposto_Descricao->setEditable(FALSE);        $TipoImposto_ID->setSize('40');        $TipoImposto_Descricao->setSize('500');        // add the fields        $this->form->addQuickField('Código:', $perdcomp_id,  80 );        $this->form->addQuickField('Data Criação', $DataCriacao,  80 );        $this->form->addQuickField('Data Transmissão:', $DataTransmissao,  80 );        $this->form->addQuickField('Nº Perdcomp:', $Nr_PERDCOMP,  500 );        $this->form->addQuickFields('Tipo Documento:', [ $TipoDocumento_id, $TipoDocumentoDescricao ] );             $this->form->addQuickFields('Tipo Crédito:', [ $TipoCredito_id, $TipoCreditoDescricao] );             $this->form->addQuickFields('Origem Documento:', [ $OrigemDocumento_id, $OrigemDocumentoDescricao ] );             $this->form->addQuickFields('Tipo Imposto:', [ $TipoImposto_ID, $TipoImposto_Descricao] );                             $this->form->addQuickField('Exercício', $Exercicio,  100 );                    // keep the form filled during navigation with session data        $this->form->setData( TSession::getValue('Perdcomp_filter_data') );                        // add the search form actions        $this->form->addQuickAction(_t('Find'), new TAction(array($this, 'onSearch')), 'fa:search');        $this->form->addQuickAction(_t('New'),  new TAction(array('PerdcompForm', 'onEdit')), 'bs:plus-sign green');                // creates a DataGrid        $this->datagrid = new TDataGrid;          // $this->datagrid->enablePopover('Image', "<img src='{photo_path}'>");                $this->datagrid->style = 'width: 100%';        $this->datagrid->datatable = 'true';       // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');                // creates the datagrid columns        $column_perdcomp_id = new TDataGridColumn('perdcomp_id', 'Código', 'right');        $column_DataCriacao = new TDataGridColumn('DataCriacao', 'Data Criação', 'left');        $column_DataTransmissao = new TDataGridColumn('DataTransmissao', 'Data Transmissão', 'left');        $column_Nr_PERDCOMP = new TDataGridColumn('Nr_PERDCOMP', 'Nº Perdcomp', 'left');        $column_TipoDocumento_id = new TDataGridColumn('tipo_documento', 'Tipo Documento', 'left');        $column_GED = new TDataGridColumn('GED', 'GED', 'left');          $column_TipoCredito_id = new TDataGridColumn('tipo_credito', 'Tipo Crédito', 'left');        $column_TipoImposto_ID = new TDataGridColumn('tipo_imposto', 'Tipo Imposto', 'left');        $column_OrigemDocumento_id = new TDataGridColumn('origem_documento', 'Origem Documento', 'left');        $column_SaldoDeclarado = new TDataGridColumn('SaldoDeclarado', 'Saldo Declarado', 'right');        $column_Exercicio = new TDataGridColumn('Exercicio', 'Exercício', 'right');        $column_ValorCompensado = new TDataGridColumn('ValorCompensado', 'Valor Compensado', 'right');        $column_Sequencial = new TDataGridColumn('Sequencial', 'Sequencial', 'left');        $column_Competencia = new TDataGridColumn('Competencia', 'Competência', 'left');        $column_PERDCOMP_Original = new TDataGridColumn('PERDCOMP_Original', 'Perdcomp Original', 'left');        $column_Situacao = new TDataGridColumn('Situacao', 'Situação', 'left');        $column_Cancelamento = new TDataGridColumn('Cancelamento', 'Cancelamento', 'left');        $column_CreditoOriginalInicial = new TDataGridColumn('CreditoOriginalInicial', 'Crédito Original Inicial', 'right');        $column_CreditoOriginalUtilizadoCompensacoes = new TDataGridColumn('Credito Original Utilizado Compensações', 'Creditooriginalutilizadocompensacoes', 'right');        $column_CreditoOriginalDisponivel = new TDataGridColumn('Crédito Original Disponível', 'Crédito Original Disponível', 'right');        $column_CreditoOriginalTransmissao = new TDataGridColumn('Credito Original Transmissão', 'Crédito Original Transmissão', 'right');        $column_SelicAcumulada = new TDataGridColumn('Selic Acumulada', 'Selic Acumulada', 'right');        $column_CreditoAtualizado = new TDataGridColumn('CreditoAtualizado', 'Crédito Atualizado', 'right');        $column_DebitosDocumento = new TDataGridColumn('DebitosDocumento', 'Débitos Documento', 'right');        $column_CreditoOriginalUtilizadoDocumento = new TDataGridColumn('CreditoOriginalUtilizadoDocumento', 'Crédito Original Utilizado Documento', 'right');        $column_SaldoCreditoOriginal = new TDataGridColumn('SaldoCreditoOriginal', 'Saldo Crédito Original', 'right');        $column_system_unit_id = new TDataGridColumn('system_unit_id', 'Empresa', 'right');        $column_system_user_id = new TDataGridColumn('system_user_id', 'Usuario', 'right');        // add the columns to the DataGrid        $this->datagrid->addColumn($column_perdcomp_id);        $this->datagrid->addColumn($column_DataCriacao);        $this->datagrid->addColumn($column_DataTransmissao);        $this->datagrid->addColumn($column_Sequencial);        $this->datagrid->addColumn($column_Nr_PERDCOMP);        $this->datagrid->addColumn($column_GED);        $this->datagrid->addColumn($column_TipoDocumento_id);        $this->datagrid->addColumn($column_OrigemDocumento_id);        $this->datagrid->addColumn($column_TipoCredito_id);        $this->datagrid->addColumn($column_TipoImposto_ID);        $this->datagrid->addColumn($column_SaldoDeclarado);        $this->datagrid->addColumn($column_ValorCompensado);        $this->datagrid->addColumn($column_Exercicio);        $this->datagrid->addColumn($column_Competencia);        $this->datagrid->addColumn($column_PERDCOMP_Original);        $this->datagrid->addColumn($column_Situacao);        $this->datagrid->addColumn($column_Cancelamento);        $this->datagrid->addColumn($column_CreditoOriginalInicial);        $this->datagrid->addColumn($column_CreditoOriginalUtilizadoCompensacoes);        $this->datagrid->addColumn($column_CreditoOriginalDisponivel);        $this->datagrid->addColumn($column_CreditoOriginalTransmissao);        $this->datagrid->addColumn($column_SelicAcumulada);        $this->datagrid->addColumn($column_CreditoAtualizado);        $this->datagrid->addColumn($column_DebitosDocumento);        $this->datagrid->addColumn($column_CreditoOriginalUtilizadoDocumento);        $this->datagrid->addColumn($column_SaldoCreditoOriginal);        $this->datagrid->addColumn($column_system_unit_id);        $this->datagrid->addColumn($column_system_user_id);                        $order_perdcomp_id = new TAction(array($this, 'onReload'));        $order_perdcomp_id->setParameter('order', 'perdcomp_id');        $column_perdcomp_id->setAction($order_perdcomp_id);                $order_DataCriacao = new TAction(array($this, 'onReload'));        $order_DataCriacao->setParameter('order', 'DataCriacao');        $column_DataCriacao->setAction($order_DataCriacao);                $order_DataTransmissao = new TAction(array($this, 'onReload'));        $order_DataTransmissao->setParameter('order', 'DataTransmissao');        $column_DataTransmissao->setAction($order_DataTransmissao);                       $column_Nr_PERDCOMP->setTransformer(function($value, $object, $row){          $link = new THyperLink('Hyper Link (url)', 'Nr_PERDCOMP', 'orange', 12, 'biu');           return $link;    ))                 // define the transformer method over image        $column_Competencia->setTransformer( function($value, $object, $row) {            $date = new DateTime($value);            return $date->format('d/m/Y');        });          // define the transformer method over image        $column_DataCriacao->setTransformer( function($value, $object, $row) {            $date = new DateTime($value);            return $date->format('d/m/Y');        });        // define the transformer method over image        $column_DataTransmissao->setTransformer( function($value, $object, $row) {            $date = new DateTime($value);            return $date->format('d/m/Y');        });                          // define the transformer method over image        $column_SaldoDeclarado->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_ValorCompensado->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_CreditoOriginalInicial->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_CreditoOriginalUtilizadoCompensacoes->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_CreditoOriginalDisponivel->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_CreditoOriginalTransmissao->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_CreditoAtualizado->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_DebitosDocumento->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_CreditoOriginalUtilizadoDocumento->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });        // define the transformer method over image        $column_SaldoCreditoOriginal->setTransformer( function($value, $object, $row) {            return 'R$ ' . number_format($value, 2, ',', '.');        });                // create EDIT action        $action_edit = new TDataGridAction(array('PerdcompForm', 'onEdit'));        $action_edit->setButtonClass('btn btn-default');        $action_edit->setLabel(_t('Edit'));        $action_edit->setImage('fa:pencil-square-o blue fa-lg');        $action_edit->setField('perdcomp_id');        $this->datagrid->addAction($action_edit);                          // create DELETE action        $action_del = new TDataGridAction(array($this, 'onDelete'));        $action_del->setButtonClass('btn btn-default');        $action_del->setLabel(_t('Delete'));        $action_del->setImage('fa:trash-o red fa-lg');        $action_del->setField('perdcomp_id');        $this->datagrid->addAction($action_del);                // create the datagrid model        $this->datagrid->createModel();                // create the page navigation        $this->pageNavigation = new TPageNavigation;        $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));        $this->pageNavigation->setWidth($this->datagrid->getWidth());                // vertical box container        $container = new TVBox;        $container->style = 'width: 90%';        // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));        $container->add($this->form);        $container->add($this->datagrid);        $container->add($this->pageNavigation);                parent::add($container);    }    }</your></your>
MG

Faltou o ponto e vírgula no final do método.

<?php $column_Nr_PERDCOMP->setTransformer(function($value, $object, $row){          $link = new THyperLink('Hyper Link (url)', 'Nr_PERDCOMP', 'orange', 12, 'biu');           return $link;    )) ; // <=============?>
ST

Marcelo,
Obrigado, problema resolvido.
MG

Excelente!
Sucesso