Manipulação de janelas
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Olá pessoal. A dúvida é simples, mas
eu não consigo resolver, sou iniciante
total também...
Na verdade é assim, depois de atualizar um registro,
o usuário irá clicar no botão OK e esse botão precisa fechar a
janela atual e carregar novamente uma outra, que mostrará
o registro modificado (essa janela já está aberta, mas ela mostra
o registro antigo, antes da modificação), por isso o botão OK
precisa fechar a janela onde a alteração foi feita e "atualizar"
a outra.
Se alguém puder ajudar...
eu não consigo resolver, sou iniciante
total também...
Na verdade é assim, depois de atualizar um registro,
o usuário irá clicar no botão OK e esse botão precisa fechar a
janela atual e carregar novamente uma outra, que mostrará
o registro modificado (essa janela já está aberta, mas ela mostra
o registro antigo, antes da modificação), por isso o botão OK
precisa fechar a janela onde a alteração foi feita e "atualizar"
a outra.
Se alguém puder ajudar...
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
E ai binho, beleza?
cara, eu não manjo muito de forms, acho q o código abaixo pode te ajudar..
[]'s
cara, eu não manjo muito de forms, acho q o código abaixo pode te ajudar..
-- oculta a janela
HIDE_VIEW('SEU_CANVAS');
-- manda o foco pro seu data block
GO_BLOCK('SEU_DATA_BLOCK');
-- atualiza seu data block
EXECUTE_QUERY;
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Vlw pessoal.
Só que eu precisava fechar a janela e não escondê-la (são coisas diferentes não é?). Então tentei trocar o HIDE_VIEW, por um
CLOSE_VIEW, mas acho que não existe...
E depois precisava chamar uma outra janela para que seja mostrado o
novo registro que eu acabei de inserir nessa janela que eu
devo fechar. Não sei se esse EXECUTE_QUERY faz isso. O que eu
precisava era só chamar a janela, tipo dando um "refresh" nela, mais
nada.
Só que eu precisava fechar a janela e não escondê-la (são coisas diferentes não é?). Então tentei trocar o HIDE_VIEW, por um
CLOSE_VIEW, mas acho que não existe...
E depois precisava chamar uma outra janela para que seja mostrado o
novo registro que eu acabei de inserir nessa janela que eu
devo fechar. Não sei se esse EXECUTE_QUERY faz isso. O que eu
precisava era só chamar a janela, tipo dando um "refresh" nela, mais
nada.
-
- Rank: DBA Pleno
- Mensagens: 241
- Registrado em: Ter, 09 Out 2007 11:15 am
- Localização: Batatais - SP
se o camvas não for do tipo sobreposto e sim um canvas de conteudo e estiver em outra janela você pode executar abaixo do hide_view o comando close_window('nome da janela')...
agora para dar um refresh na tela anterior, se for bloco de dados somente pelo execute_query ele vai fazer o que você quer(refresh nos dados), senao você pode atribuir os valores alterados respectivos...
agora para dar um refresh na tela anterior, se for bloco de dados somente pelo execute_query ele vai fazer o que você quer(refresh nos dados), senao você pode atribuir os valores alterados respectivos...
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Então Tineks mas o "do_key('exit_form'); " fecha
a minha aplicação. O que eu precisava era só fechar um
canvas.
a minha aplicação. O que eu precisava era só fechar um
canvas.
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Tenta assim:
E se for o caso, manda pra outro bloco:
HIDE_VIEW('TEU_CANVAS');
GO_BLOCK('OUTRO_BLOCO');
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Isso Tineks...é um form só...
É bem assim:
Tenho uma janela que apresenta todos os funcionários, clico em INCLUIR,
ai uma segunda janela é chamada, onde eu faço a inclusão de um
novo funcionário. Assim que eu termino a inclusão, eu preciso fechar
essa janela e ir pra outra, dando uma espécie de "refresh" para
mostrar o funcionário que eu acabei de inserir.
É bem assim:
Tenho uma janela que apresenta todos os funcionários, clico em INCLUIR,
ai uma segunda janela é chamada, onde eu faço a inclusão de um
novo funcionário. Assim que eu termino a inclusão, eu preciso fechar
essa janela e ir pra outra, dando uma espécie de "refresh" para
mostrar o funcionário que eu acabei de inserir.
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
então,
o primeiro problema é esconder o canvas q você usou pra incluir. isso você pode fazer com o hide_view, assim você vai cair pro canvas de baixo.
você tentou fazer isso ?
[]'s
o primeiro problema é esconder o canvas q você usou pra incluir. isso você pode fazer com o hide_view, assim você vai cair pro canvas de baixo.
você tentou fazer isso ?
[]'s
-
- Rank: DBA Pleno
- Mensagens: 241
- Registrado em: Ter, 09 Out 2007 11:15 am
- Localização: Batatais - SP
certo...
binho tenta fazer o seguinte... assim que você cadastra o funcionário você consegue recuperar a chave da tabela certo??
vê se isso serve para você:
binho tenta fazer o seguinte... assim que você cadastra o funcionário você consegue recuperar a chave da tabela certo??
vê se isso serve para você:
v_codigo_funcionario := /*armazenar o código (chave) do funcionario que você acabou de cadastrar*/
go_block(bloco1);
hide_view(canvas_incluir);
set_block_property(bloco1,default_where,'codigo_funcionario = ' || v_codigo_funcionario);
execute_query;
set_block_property(bloco1,default_where,'');
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Sim Tineks, só que eu não tenho que ESCONDER...tenho
que FECHAR o canvas...o hide funciona, só que eu preciso fechar
que FECHAR o canvas...o hide funciona, só que eu preciso fechar
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
Binho,
mas nesse caso ai, onde você tem o canvas de inclusao, não tem como você fecha-lo, você só pode usar o hide_view..
como você disse o hide_view funcionou, mas qual seria o problema de utilizar o hide_view?
[]'s
mas nesse caso ai, onde você tem o canvas de inclusao, não tem como você fecha-lo, você só pode usar o hide_view..
como você disse o hide_view funcionou, mas qual seria o problema de utilizar o hide_view?
[]'s
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Outra coisa, brother...
Qual a necessidade de se "fechar" esse canvas?
O que você consegue fechar é teu forms.
Se conseguir "fechar" este canvas, posta aqui pra gente, pois desconheço.
Qual a necessidade de se "fechar" esse canvas?
O que você consegue fechar é teu forms.
Se conseguir "fechar" este canvas, posta aqui pra gente, pois desconheço.
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
beleza...vou usar o hide mesmo, só que a intenção
era fechar...
era fechar...
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
O rodfbar passou um código pra eu chamar a tela onde
deverá constar o novo funcionário que foi adicionado. estou
tentando entender o código dele...boa parte eu entendi, mas o que
eu percisava fazer era simples:
Somente "carregar" uma janela novamente...essa janela já traz
todos os funcionarios da tabela de funcionarios...o que eu preciso é
só chamá-la novamente, de modo que o novo funcionário que
acabou de ser adicionado, apareça...
deverá constar o novo funcionário que foi adicionado. estou
tentando entender o código dele...boa parte eu entendi, mas o que
eu percisava fazer era simples:
Somente "carregar" uma janela novamente...essa janela já traz
todos os funcionarios da tabela de funcionarios...o que eu preciso é
só chamá-la novamente, de modo que o novo funcionário que
acabou de ser adicionado, apareça...
-
- Rank: DBA Pleno
- Mensagens: 241
- Registrado em: Ter, 09 Out 2007 11:15 am
- Localização: Batatais - SP
o que a gente não ta entendendo binho é que janela que você esta falando
o seu canvas de cadastro não é empilhado??
ou ele é um canvas conteudo e você tem uma janela especificamente para ele???
o seu canvas de cadastro não é empilhado??
ou ele é um canvas conteudo e você tem uma janela especificamente para ele???
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Então brother...
Pelo que eu saiba não tem como...
Os comandos 'Close' que conheço (verifiquei no Help do próprio forms tb.), são para FORMS e WINDOW.
Se existir uma necessidade de se fechar, joga na Window, mas, tb daria pra se executar essa "necessidade" no HIDE_VIEW do canvas, trabalhando juntamente com as propriedades do canvas.
Pelo que eu saiba não tem como...
Os comandos 'Close' que conheço (verifiquei no Help do próprio forms tb.), são para FORMS e WINDOW.
Se existir uma necessidade de se fechar, joga na Window, mas, tb daria pra se executar essa "necessidade" no HIDE_VIEW do canvas, trabalhando juntamente com as propriedades do canvas.
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Perae rodfbar, não estou acostumado com esses termos...
É porque eu peguei um form quase pronto aqui no trabalho, só tenho que
adicionar as funções para alguns botões...
Mas é o seguinte... eu tenho um form com 3 janelas. Uma delas
eu já resolvi. As outras duas que são o problema.
Assim que eu rodo a aplicação abre a janela com a relação dos
funcionários. Nessa janela tenho o botão INCLUIR que quando
acionado abre uma segunda janela de cadastro. Assim que o
cadastro foi feito eu preciso retornar para a tela incial e atualizar
a relação dos funcionários com o novo registro.
É porque eu peguei um form quase pronto aqui no trabalho, só tenho que
adicionar as funções para alguns botões...
Mas é o seguinte... eu tenho um form com 3 janelas. Uma delas
eu já resolvi. As outras duas que são o problema.
Assim que eu rodo a aplicação abre a janela com a relação dos
funcionários. Nessa janela tenho o botão INCLUIR que quando
acionado abre uma segunda janela de cadastro. Assim que o
cadastro foi feito eu preciso retornar para a tela incial e atualizar
a relação dos funcionários com o novo registro.
-
- Rank: DBA Pleno
- Mensagens: 241
- Registrado em: Ter, 09 Out 2007 11:15 am
- Localização: Batatais - SP
certo binho....
no forms é o seguinte cara, quando você chama de janela na verdade você fala de objetos que ficao na propriedade janelas(ou windows se for versão ingles) da sua aplicação, quando você fala de canvas é o objeto que fica na propriedade canvases da sua aplicacao...
o que a gente precisa saber é, quando você da o go_block e o hide view que te passamos sua janela de cadastro ainda fica aberta sobrepondo a antiga???
o que esta aparecendo para você???
no forms é o seguinte cara, quando você chama de janela na verdade você fala de objetos que ficao na propriedade janelas(ou windows se for versão ingles) da sua aplicação, quando você fala de canvas é o objeto que fica na propriedade canvases da sua aplicacao...
o que a gente precisa saber é, quando você da o go_block e o hide view que te passamos sua janela de cadastro ainda fica aberta sobrepondo a antiga???
o que esta aparecendo para você???
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
O HIDE_VIEW e o GO_BLOCK funcionam: eu escondo
a tela de cadastro e a tela que fica em primeiro
plano é a tela de relação dos funcionários, mas obviamente,
sem a atualização.
a tela de cadastro e a tela que fica em primeiro
plano é a tela de relação dos funcionários, mas obviamente,
sem a atualização.
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
beleza rodbar e Tineks...
Só que assim...o código do funcionário não
está em nenhum campo da tela, ele é incrementado
com um NEXTVAL, vou ver uma maneira de recuperá-lo.
Só não entendi exatamente o que esse EXECUTE_QUERY
faz. Até vocês terem paciencia pra me responder eu vou
lendo o help...
Só que assim...o código do funcionário não
está em nenhum campo da tela, ele é incrementado
com um NEXTVAL, vou ver uma maneira de recuperá-lo.
Só não entendi exatamente o que esse EXECUTE_QUERY
faz. Até vocês terem paciencia pra me responder eu vou
lendo o help...
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
beleza rodfbar...vou tentar aqui
-
- Rank: DBA Pleno
- Mensagens: 241
- Registrado em: Ter, 09 Out 2007 11:15 am
- Localização: Batatais - SP
se tiver problemas para recuperar sua sequence tenta colocar no primeiro set_block_property que te passei
SET_BLOCK_PROPERTY(BLOCO1,DEFAULT_WHERE,'CD_FUNCIONARIO IN(SELECT MAX(CD_FUNCIONARIO) FROM FUNCIONARIOS');
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Aham...entendi.
Brigadão rodbar...vou ver aqui
Brigadão rodbar...vou ver aqui
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Ele compila, mas aparece aquele "no changes to save"
Essa passagem do código ficoi assim:
o que faz esse segundo SET_BLOCK_PROPERTY? E não entendi porque
desse erro, rodfbar
Essa passagem do código ficoi assim:
--retornar para a tela principal ( e carregar novamente a tela principal)
HIDE_VIEW ('CNV_MANUT');
GO_BLOCK ('BL_PRINCIPAL');
SET_BLOCK_PROPERTY('BL_PRINCIPAL',DEFAULT_WHERE,'ID_FUNC IN(SELECT MAX(ID_FUNC) FROM FUNCIONARIO');
EXECUTE_QUERY;
SET_BLOCK_PROPERTY('BL_PRINCIPAL',DEFAULT_WHERE,'');
desse erro, rodfbar
-
- Rank: DBA Pleno
- Mensagens: 241
- Registrado em: Ter, 09 Out 2007 11:15 am
- Localização: Batatais - SP
esse segundo set_block_property é para limpar a clausula where que foi definida no primeiro...
para no caso de você dar um f7 para fazer uma outra consulta ele não ter esta como default.... entendeu????
essa mensagem deve ser antes deste processo... tenta no fim deles colocar um CLEAR_MESSAGE;
para no caso de você dar um f7 para fazer uma outra consulta ele não ter esta como default.... entendeu????
essa mensagem deve ser antes deste processo... tenta no fim deles colocar um CLEAR_MESSAGE;
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
beleza...vou fazer isso, ai já respondo
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Ele adiciona o resgitro, tudo certo... esconde essa janela,
mas a outra não é atualizada com o outro registro.
estou usando o código assim:
mas a outra não é atualizada com o outro registro.
estou usando o código assim:
CLEAR_MESSAGE;
--retornar para a tela principal ( e carregar novamente a tela principal)
HIDE_VIEW ('CNV_MANUT');
GO_BLOCK ('BL_PRINCIPAL');
SET_BLOCK_PROPERTY('BL_PRINCIPAL',DEFAULT_WHERE,'ID_FUNC IN(SELECT MAX(ID_FUNC) FROM FUNCIONARIO');
EXECUTE_QUERY;
SET_BLOCK_PROPERTY('BL_PRINCIPAL',DEFAULT_WHERE,'');
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Qua, 07 Nov 2007 2:20 pm
- Localização: são paulo
Quando eu abro essa primeira tela, são carregados
todos os registros
todos os registros
-
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Seg, 14 Jun 2010 11:17 am
- Localização: São Paulo, SP
Guilherme
Boa tarde.
Para não criar um novo tópico, encontrei este bem antigo, que lembra um pouco a minha dúvida, que na verdade é bem simples.
Tenho um FORMS, com vários canvas. Estes canvas são abertos cada um em uma janelinha diferente.
Porém, eu não consigo transitar entre as janelas que estão abertas.
Eu acredito que seja alguma propriedade do forms que causa isso.
Mas eu não faço idéia de que propriedade poderia ser essa.
Alguém saberia me dizer?
Obrigado!
Abraço!
Para não criar um novo tópico, encontrei este bem antigo, que lembra um pouco a minha dúvida, que na verdade é bem simples.
Tenho um FORMS, com vários canvas. Estes canvas são abertos cada um em uma janelinha diferente.
Porém, eu não consigo transitar entre as janelas que estão abertas.
Eu acredito que seja alguma propriedade do forms que causa isso.
Mas eu não faço idéia de que propriedade poderia ser essa.
Alguém saberia me dizer?
Obrigado!
Abraço!
- dr_gori
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Vai nas propriedades da WINDOW, e veja se a propriedade MODAL está NO.
(se estiver como YES, você tem que fechar ela antes pra continuar o processamento)
(se estiver como YES, você tem que fechar ela antes pra continuar o processamento)
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Google [Bot] e 1 visitante