Checkbox selecionar todos - Otimizado

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
diegoBenetti
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Sex, 27 Set 2013 9:24 am

Boa tarde, galera!

Tenho um bloco tabular cuja tabela base possui muitos registros. Nesse bloco existe um checkbox para que cada registro possa ser ou não selecionado. Preciso fazer um checkbox para selecionar ou "não selecionar" todos os registros.

Sei que posso fazer um loop no bloco como, inclusive, outro tópico sugere. O problema é que essa alternativa perde em performance com muitos registros. Sei que há uma maneira de fazer utilizando, se não me engano, summary columns, mas estou com dificuldade para lembrar desse mecanismo.

Se alguém puder ajudar, será muito útil! :D
Obrigado pela atenção.

att. Diego
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu fiz isso duma forma bem rápida, aqui está a explicação:
http://glufke.net/oracle/viewtopic.php?t=4897

Basicamente, cada vez que o sujeito clicava no CHECKBOX, ele fazia um INSERT numa tabela temporaria.
O bloco tinha um OUTER-JOIN pra essa tabela, então, pra marcar tudo, ele apenas fazia um comando INSERT da PK de toda tabela, e fazia um EXECUTE_QUERY.

Se precisar de uma explicação mais detalhada, eu posso citar melhor... Mas assim, ficou muito bom e muito rápido!
diegoBenetti
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Sex, 27 Set 2013 9:24 am

Esse método é interessante, mas ainda não é o que estou procurando. Se eu conseguir implementar, vou postar aqui. Vi esse "problema" solucionado com uma ou duas summary functions (Calculation, na property pallete)... não era nada tão excepcional, mas muito performático, porém lembro como o mecanismo funcionava.

abraço!
Responder
  • Informação