Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Incluir Filtro de Data_Inicial e Data_Final em gráfico com HighC Como dividir esse código de forma que eu tenha um filtro no Sql. Tentei separar da forma que é feito do relatório, mas nao consegui. class certificadoResultadoMes extends TPage // TPage::include_js('lib/jquery/Highcharts-4.2.3/js/highcharts.js'); { function __construct() { parent::__construct(); TPage::include_js('lib/jquery/Highcharts-4.2.3...
JA
Incluir Filtro de Data_Inicial e Data_Final em gráfico com HighC  
Fechado
Como dividir esse código de forma que eu tenha um filtro no Sql.
Tentei separar da forma que é feito do relatório, mas nao consegui.

class certificadoResultadoMes extends TPage
// TPage::include_js('lib/jquery/Highcharts-4.2.3/js/highcharts.js');
{
function __construct()
{
parent::__construct();

TPage::include_js('lib/jquery/Highcharts-4.2.3/js/highcharts.js');
// exportação
TPage::include_js('lib/jquery/Highcharts-4.2.3/js/modules/exporting.js');

$table = new TTable;
$div = new TElement('div');
$div->id = 'container';
$div->style = "width:800px;height:500px";
$table->addRow()->addCell($div);
TTransaction::open('facilita');

$conn = TTransaction::get();
$result = $conn->query("
select
sum(ap_revenda_ganho_liq_arapiraca),
sum(ap_preco_original_liquido_pa),
sum(ganho_liquido_comissao_arapiraca),
sum(valor_original),
sum(valor_original-valor_revenda)
from certificado cert");

foreach ($result as $row)
{
$dados = "{ name: 'Devolução de Revenda p/Mac.', y: " . $row[0] . " }";

$dados = $dados . ',' . "{ name: 'Comissão', y: " . $row[1] . ", sliced: true, selected: true }";
$dados = $dados . ',' . "{ name: 'Ganho Líquido', y: " . $row[2] . " }";
$dados = $dados . ',' . "{ name: 'Total Validado', y: " . $row[3] . " }";
$dados = $dados . ',' . "{ name: 'Revenda Bruta', y: " . $row[4] . " }";


}


if (empty($dados))
{
// pede para escolher antes um imovel
new TMessage('error', 'Nenhum dado para formar o gráfico! ');
exit;
}

TTransaction::close();

$script = new TElement('script');
$script->type = 'text/javascript';
$javascript = "
$('#container').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Apuração resultado'
},
tooltip: {
enabled: true,
valueDecimals: 0
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<p>{point.name}:</p> {point.y:,.2f}',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: 'Browser share',
colorByPoint: true,
data: [".$dados."]
}]
});

";
$script->add($javascript);
parent::add($table);
parent::add($script);
}
}

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (3)


NR

Não entendi o que você precisa. Quer adicionar um filtro na consulta que gera o gráfico?
JA

Preciso criar dois campos para filtrar os dados na query (período) e um botão por exemplo onGerarGrafico que ao ser pressionado vai refazer o sql de consulta com base no novo período e montar o gráfico. Para isso terei que separar esse código em duas partes, uma onde vai ficar os campos de filtro e o botão GerarGrafico e uma função com o código que vai gerar o gráfico, mas para isso não consegui fazer.
NR

Junior, veja um exemplo de grid com filtros do framework. Geralmente os campos e os botões são criados no construtor. Ao clicar no botão é chamada uma outra função(onSearch, por exemplo) que pega os valores preenchidos nos campos e faz o filtro necessário.