Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Barra de progresso na Datagrid Por favor, preciso de uma ajuda com o seguinte: http://www.adianti.com.br/framework_files/tutor/index.php?class=ProjectListView Preciso colocar na Grid de Project uma barra de porcentagem com os dados de aproved de cada Project, os amigos ja me ajudaram colocar a barra de percent '%'. Mas ainda não conseguir a Lógica de contar os dados aproved de cada project e chamar na grid do Project. E...
JE
Barra de progresso na Datagrid  
Fechado
Por favor, preciso de uma ajuda com o seguinte:
www.adianti.com.br/framework_files/tutor/index.php?class=ProjectList

Preciso colocar na Grid de Project uma barra de porcentagem com os dados de aproved de cada Project,
os amigos ja me ajudaram colocar a barra de percent '%'. Mas ainda não conseguir a Lógica de contar os dados aproved de cada project e chamar na grid do Project. Esta solução é muito valiosa pra mim. Agradeço se alguem me ajudar, ou posso até pagar pra alguem se dispor a me ajudar com este impasse em meu projeto.

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


FC

Jurandir

é simples para contar os registros
www.adianti.com.br/framework_files/tutor/index.php?class=CollectionC

Eu criaria uma rotina na model parecida com essa

private $count

public static function get_ContarProjeto($projeto)
{
TTransaction::open('banco');
$repository = new TRepository('tabela');

$criteria = new TCriteria;
$criteria->add(new TFilter(id', '=', $projeto));
$count = $repository->count($criteria);


TTransaction::close();

return $count;

}


no OnReload da control dentro do for

$objeto->campo = Model::get_ContarProjeto($objeto->campo);
JE

Felipe Cotez, meus parabéns e muito obrigado pela ajuda. Mas se possivel me ajuda mais um pouco por favor, pois ainda não consegui colocar onde preciso.

Veja este exemplo do Tutor:
www.adianti.com.br/framework_files/tutor/index.php?class=ProjectList

O que eu preciso é colocar uma coluna na Grid do projeto, com uma barrinha de % na frente de cada linha, mas com o status de:
www.adianti.com.br/framework_files/tutor/index.php?class=BacklogForm
A percentagem deveria ser só dos Aprovados.

Se tiver tempo e puder me ajudar com este problema, eu te agradeço D+++ amigo.

RC

Talvez o que você precise seja do componente TSlider

www.adianti.com.br/api-framework-widget-form-TSlider

Utilize a função setRange para definir o intervalo de valores que o componente vai ter, e a setValue caso queira definir o valor que está salvo no banco.
PD

Jurandir,

Neste outro post, colaboramos com o código a seguir:
www.adianti.com.br/forum/pt/view_1166?ajuda-com-barra-de-progresso-c


Este código, define um "transformer" que modifica a coluna, criando uma DIV.
Pois bem, a função de transformação (formatPercentual), é aplicada sobre uma coluna,
que nesse caso é "perc". Você pode criar um método na model, chamado get_perc(), que
retorna o percentual prontinho para você. Se você está trabalhando com Projetos,
crie o método get_perc() na model de Projetos, sendo que ele deverá retornar o
percentual para você. A lógica de contagem você define, a forma como contar, o Felipe
apontou anteriormente.

  1. <?php
  2.     function __construct()
  3.     {
  4.         // ...
  5.         // aplica função de transformação na coluna
  6.         $perc = new TDataGridColumn('perc',       'Percentual',       'right'200);
  7.         $perc->setTransformer(array($this'formatPercentual'));
  8.         // ...
  9.     }
  10.     // função de transformação
  11.     public function formatPercentual($perc$object$row// imagine que $perc é 0.8 para representar 80%
  12.     {
  13.         $width 200 $perc;
  14.         $label $perc 100;
  15.         return "<div style='float:left;text-align:center;width:{$width}px;background:green'> {$label}% </div>";
  16.     }
  17. ?>



Além disso, veja que na função de transformação você possui a variável $object, que é o objeto que
foi adicionado na datagrid. Ali você tem acesso à todos os seus atributos $object->id, $object->description, etc...

Att,
Pablo
PD

Jurandir,

Tente não usar títulos como esse "Peço ajuda aos profissionais", pois dificulta a localização para dúvidas posteriores. Estou trocando por aqui.

Abraço!
JE

Perfeito, muito obrigado Pablo e todos que contribuíram para solução desta dúvida.