FS
Criar um contador de registros e apresentar no Datagrid
Fechado
Boa noite pessoal,
Eu tenho uma dúvida, que pode ser fácil para os mais experientes, mas eu não estou conseguindo fazer.
Eu tenho um cadastro de alunos e estou criando um datagrid com filtros para listar alunos ativos e alunos inativos. Eu preciso mostrar em algum lugar do meu datagrid o total de alunos para cada situação. Eu desenhei mais ou menos o que gostaria de fazer e estou enviando em anexo juntamente com o código do datagrid. O Form eu fiz pelo Form Designer.
Se ficou alguma dúvida me perguntem por favor.
Obrigado.
Eu tenho uma dúvida, que pode ser fácil para os mais experientes, mas eu não estou conseguindo fazer.
Eu tenho um cadastro de alunos e estou criando um datagrid com filtros para listar alunos ativos e alunos inativos. Eu preciso mostrar em algum lugar do meu datagrid o total de alunos para cada situação. Eu desenhei mais ou menos o que gostaria de fazer e estou enviando em anexo juntamente com o código do datagrid. O Form eu fiz pelo Form Designer.
Se ficou alguma dúvida me perguntem por favor.
Obrigado.
Bom dia Fabiano. Se entendi bem existem duas formas bem tranquilas, a primeira você conta no onReload() a segunda você faz um SQL para contar. Porém eu sei fazer isso passando o valor para um TEntry:
1 - Você pode contar isso no método onReload() da seguinte forma
2 - Depois é só enviar para o formulário:
Se tem outro jeito, eu desconheço.
Tem um errinho no teste "if ($object->situacao = 'Ativo')", eu coloquei apenas um "=" e são dois "==".
Primeiramente muito obrigado Mailson, só desculpa minha ignorância, mas não entendi em que lugar no código eu devo colocar o item 2 que você passou. É ainda no onReload?
Tem um detalhe, eu estendi algumas funções do framework. Mas acredito que o teu onReload() ficaria próximo disso:
Segue um exemplo simples mas funcional. Substitua esse código pelo código da classe "DocumentList.class" da aplicação de exemplo changeman.
Não deu erro nenhum, mas também não apresentou nada.
Provavelmente você não tem dados na tabela "Document", inclua alguns.
Com este exemplo funcional que você me passou, tem como me enviar um print, só pra mim ver como é apresentado na tela?
Se quiser pode me enviar por e-mail fabiano-s@hotmail.com , ou fsdb32@gmail.com.
E muito obrigado de novo pela atenção.
Meu amigo Mailson, consegui.
Cara, muito obrigado por ajudar a aumentar meu conhecimento, pode contar comigo também quando precisar.
Abraço.
Certo. Vamos nos ajudandando então.
Abraço.
Boa noite Mailson,
Surgiu um problema e uma dúvida. Quando eu troco de página pela paginação ele começa a somar novamente. Por exemplo, na página 1 do datagrid eu tenho 10 registros, sendo que, são 5 ativos e 5 inativos, até aí tranquilo, ele somou certinho. Só que tenho o 11º registro que está na página 2 e ele está com situação ativo também, então teria que mostrar no contador 6 usuários ativos e 5 inativos e não só os que estão na determinada página. Não sei se expliquei bem, você sabe como fazer?
Obrigado cara.
Fabiano,
Você terá de rodar um count(), não tem outro jeito, não é suficiente somar somente os registros que estão na tela.
Teste fazer um método em sua classe de modelo. Ex:
Aluno::getAtivos();
Aluno::getInativos();
E rodar o TRepository com o critério ali dentro, veja:
public static function getAtivos()
{
$repository = new TRepository('Aluno');
$criteria = new TCriteria;
$criteria->add(new TFilter('situacao', '=' ,'Ativo'));
return $repository->count($criteria);
}
Não testei, mas depois basta chamar o método em algum lugar do onReload para apresentar em tela.
Att,
Pablo
Obrigado Mailson da Silva,
Eu estava com o mesmo problema para pegar a quantidade de registros do datagrid e enviar para o formulário.
Fiz conforme você explicou e funcionou perfeitamente.
Obrigado Mailson da Silva,
Eu estava com o mesmo problema para pegar a quantidade de registros do datagrid e enviar para o formulário.
Fiz conforme você explicou e funcionou perfeitamente.