Campo de total na datagrid Ola gostaria de sabe se daria pra que o campo total some automaticamente os valores da tabela...
EJ
Campo de total na datagrid  
Fechado
Ola gostaria de sabe se daria pra que o campo total some automaticamente os valores da tabela

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 (4)


AC

Esse exemplo tem um campo que calcula um total, vê se tem como adaptar para o teu caso.

www.adianti.com.br/framework_files/tutor/index.php?class=POSFormView
EJ

Eh ja tinha tentado basear nesse exemplo so que nao consegui
AL

Primeiro criei os Campos para receberem a soma dos valores nas colunas embaixo no Datagrid:

// valor_total_1
$valor_total_1 = new TEntry('valor_total_1');
$valor_total_1->style = 'text-align: right';
$valor_total_1->setSize(120);
$valor_total_1->setEditable(FALSE);

$valor_desagio = new TEntry('valor_desagio');
$valor_desagio->style = 'text-align: right';
$valor_desagio->setSize(100);
$valor_desagio->setEditable(FALSE);

$valor_liquido = new TEntry('valor_liquido');
$valor_liquido->style = 'text-align: right';
$valor_liquido->setSize(120);
$valor_liquido->setEditable(FALSE);


$table_total = new TTable;
$frame_details->add($table_total);

$table_total->style = 'font-size: 17pt; text-align: right';


$table_master->addRowSet(array('Totais lançados R$ ', $valor_total_1,'_____',$valor_desagio, $valor_liquido))->style = 'text-align: right';
$table_master->addRowSet( array($save_button, $new_button), '', '')->class = 'tformaction'; // CSS class


Depois eu fiz a soma na hora que Registro os produtos na TSession do onSaveDetail;

criei uma classe stdClass;
para colocar os valores e suas conversões:

$obj = new StdClass;
$obj->valor1 = str_replace('.','', $data->valor_total);
$obj->valor1 = str_replace(',','.', $obj->valor1);
$obj->valor2 = str_replace('.','', $data->detail_valor_doc);
$obj->valor2 = str_replace(',','.', $obj->valor2);
$obj->valor3 = $data->detail_desagio;
$obj->valor4 = $data->detail_valor_liq;

Depois verifico se os campos estão vazios, se não ele faz outra operação;


if ($data->valor_total_1 <= 0)
{
$data->valor_total_1 = $obj->valor2;
$data->valor_total_1 = number_format($data->valor_total_1,2,',','.');
}
else
{
$val1 = str_replace('.','',$data->valor_total_1);
$val1 = str_replace(',','.',$val1);
$data->valor_total_1 = ($val1 + $obj->valor2);
$data->valor_total_1 = number_format($data->valor_total_1,2,',','.');
}

Depois é só enviar as informações para os campos:

$this->form->setData($data);

Vê se dá pra usar aih?
PD

www.adianti.com.br/forum/pt/view_2159?linha-de-total-na-datagrid