Tive algumas dificuldades em montar um relatório (PDF ou Livre) que contivesse uma tabela bem formatada (linhas e colunas variáveis) e que pudesse exportar (via SC) diretamente para PDF pela barra de Ferramentas do Sc.
Foi então que tive a idéia de criá-la dentro de um campo ‘Editor HTML’, depois mandar para impressão.
Fica a dica do Código abaixo (coloquei só a parte que interessa, o acesso a tabela não tem importância):
//crio as variáveis HTML
$cria_tabela ="
//você pode criar com o espaçamento que quiser
$cria_coluna = “
$cria_coluna_25 = “
$cria_coluna_10 = “
$fecha_coluna = “
//crio as celulas
$monta_cell ="
$fecha_cell = “
//inicia variáv que devolvera o texto ao campo HTML
$devolve_txt=’’;
if (false == {rs})
{
sc_error_message(‘Erro ao Acessar a Base.’);
}
else
{
while(!$rs->EOF)
{
//Aqui são exemplos de como montar com campos de uma tabela
$pega_txt = $rs->fields[0];
$pega_loc = $rs->fields[1];
$pega_dt = “Indefinida”;
$pega_hora = $rs->fields[2];
//prepara celula de tabela
$campo_1 = $monta_cell.$cria_coluna.$pega_txt.$fecha_coluna;
$campo_2 = $cria_coluna_25.$pega_loc.$fecha_coluna;
$campo_3 = $cria_coluna_10.$pega_dt.$fecha_coluna;
$campo_4 = $cria_coluna_10.$pega_hora.$fecha_coluna.$fecha_cell;
//monta texto de retorno
$devolve_txt = $devolve_txt.$campo_1.$campo_2.$campo_3.$campo_4;
$rs->MoveNext();
}
//cabecalho da tabela, pode ser texto ou variáveis
$coluna_1 = $monta_cell.$cria_coluna."<b>EVENTO</b>".$fecha_coluna;
$coluna_2 = $cria_coluna_25."<b>LOCAL</b>".$fecha_coluna;
$coluna_3 = $cria_coluna_10."<b>DATA</b>".$fecha_coluna;
$coluna_4 = $cria_coluna_10."<b>INÍCIO & TÉRMINO</b>".$fecha_coluna.$fecha_cell;
//prepara o cabeçalho
$cabecalho_tabela = $coluna_1.$coluna_2.$coluna_3.$coluna_4;
//coloca cabecalho e fecha tabela
$devolve_txt = $cria_tabela.$cabecalho_tabela.$devolve_txt.$fecha_tabela;
//devolve texto no retorno
return $devolve_txt;
$rs->Close();
====================
Para usar basta chamar a função (Crie um Método e dê um nome)
{meucampo_html} = seu_metodo();
Me quebrou uma árvore isso, espero que ajude mais alguém.
Bom trabalho!