Jump to content

Recommended Posts

Posted

Boa tarde,

Estou a desenvolver uma aplicação com recurso a uma BD em MySql, e estou a preencher 3 comobox assim que a aplicação carrega, ou seja,

1ª combo Carrega com o form onload,

2ª Carrega conforme os dados que a primeira lhe passa, ou seja, serve de filtro a primeira para que possa carregar os dados correctos.

3ª carrega como a primeira.

O Meu problema é:

A primeira e a terceira carregam bem quando a  aplicação carrega, mas como vou buscar a base de dados os dados relativos ao carregamento da segunda?

EX: 1ª Portugal, Espanha etc

o que eu gostava de saber era se eu seleccionar Portugal a segunda combo carregar os dados relativos a PT, e se eu mudar para Espanha a segunda combo Actualizar com os dados de Espanha e assim sucessivamente.

Podem Ajudar?

Obrigado

Posted

Colocas um handler para o evento de troca de item escolhido na combo.

Lês qual é o novo item escolhido e usas essa informação para fazer a query à bd e populas a segunda combo com os valores obtidos.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

Obrigado pela info, o que eu estava a utilizar era um event, actionperformed se não me engano.

Podes me indicar o sitio onde posso ver um exemplo ou alguma explicação?

Muito Obrigado.

Posted

Exprimenta assim:

combo.addActionListener(new ActionListener () {
    public void itemStateChanged(ActionEvent e) {
        if(evt.getStateChange() == ItemEvent.SELECTED){
		doSomething();
}
    }
}

Engenharia de Sistemas Informáticos @ IPCA

"Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs

Posted

Obrigado a todos pela ajuda, o problema está parcialmente resolvido, isto porque estou a chamar o método que enche a combo 1 duas vezes, e isso faz com que repita o primeiro valor da combo, de resto tudo funciona, mas eu queria só chamar uma vez o método que enche a combo. Alguma ideia?

o meu método:

public void fillDrop()
    {
            try {
            st = conn.createStatement();
            st.executeQuery("select DS from Paises");
            rs = st.getResultSet();
            
            while (rs.next()){
                cbx.addItem(rs.getString("DS")); 
            }
             rs.close();
             st.close();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

É carregado no form onload e depois para funcionar é chamado também no event. Assim funciona mas com o primeiro valor repetido.

Obrigado

Posted

Não percebi muito bem qual é o problema desta vez....

Então é o seguinte:

A 1ª  e a 3ª combobox são populadas diretamente com os valores da base de dados.

Ao seleccionar um item da combobox 1 a 2º combobox é populada com base no item selecionado na 1ª.

O problema agora é que sempre que selecionas um novo item na combobox 1, a 2ª combobox fica com os items que já tinha e acrescenta os item referentes ao que foi selecionado.

É este o problema?

Se for, a cada vez que é selecionado um item da combobox 1, vais ter que limpar todos os items que estão na combobox 2 antes de a popular com os novos valores.

cbx.removeAllItems();

Engenharia de Sistemas Informáticos @ IPCA

"Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.