19/06/2009
Relatório paginado usando módulo
por Aldinei Sampaio -
—
posted at
19/06/2009 18:08
Última modificação
19/06/2009 18:08
O código abaixo exemplifica o uso do objeto HTMLReport em um módulo do Kankei para gerar uma tag HTML <table>. O objetivo é criar um relatório que possa ser impresso de forma a que saiam 6 registros em cada página. O salto de página, na tela, é exibido como um espaçamento entre as páginas, mas durante a impressão será efetuada uma quebra.
Note o uso do novo método TableHeader() - disponível a partir do build 106.
<html>
<head>
<style type="text/css">
body {
font-family : Verdana;
font-size : 9pt;
}
table {
font-size : 8pt;
}
</style>
</head>
<body>
<%
// Obtém os dados a serem listados através de uma pesquisa
var p = K.BD.NovaPesquisa();
p.Listar('NomeFantasia');
p.Listar('CPNJCPF');
p.Listar('GeralStatus');
p.Filtrar('E_Cliente').IgualA('SIM');
p.OrdenarPor('NomeFantasia');
p.ExecuçãoOpções.MaxRecords = 15;
var rs = p.Executar();
// Cria o HTMLReport
var r = GetHTMLReport();
r.ShowGridLines();
// Define o número de linhas por página
r.PageHeight(6);
// Configura cabeçalho e rodapé
r.Header('RELATÓRIO DE CLIENTES');
r.TableHeader().NewRow('Nome', 'CPF/CNPJ', 'Status').RowStyle('background:#C0C0C0');
r.Footer('PÁGINA @PAGE@');
// Ativa zebramento, incluindo um estilo diferente para linhas alternadas
r.AlternateRowStyle('background:#E0E0E0');
r.Alternate();
while (!rs.EOF) {
r.NewRow();
r.NewCell(rs('NomeFantasia'));
r.NewCell(rs('CPNJCPF'));
r.NewCell(rs('GeralStatus'));
rs.MoveNext();
}
r.EndTable();
%>
</body>
</table>
Resultado:

- Category(s)
-
KANKEI