2011-04-06 34 views
-1

在我的項目中,我有一個搜索表單,我們有2個組合框 :在第一個組合框(cbsearch)我添加了三個項目,即名稱,城市和gotra,我已經拿第二個組合框(cbdisplay)來顯示數據。我想組合框顯示3種不同類型的名稱,即名稱,城市和gotra

我希望當我從第一個組合框(任何人的名字,城市和gotra)選擇項目比第二個組合框應顯示所有names.means當我在第一個組合框中選擇城市第二個組合框應顯示所有城市名稱我的數據庫相同的其他兩個項目,即(名稱,gotra): 我使用netbeans 6.9.1我的代碼是:(我已經寫在第二個組合框(cbdisplay)的自定義代碼部分中的代碼幫助我它只顯示名稱而不是城市和戈特拉名)

String searchby= cbsearch.getSelectedItem().toString(); 
if(searchby.equals("")) 
JOptionPane.showMessageDialog(null," SELECT ANY ONE EITHER NAME,GOTRA,CITY"); 
    if(cbsearch.getSelectedItem().toString().equals("Name")) 
{ 
       try        //1st combobox is cbsearch 
     {         //2nd combobox is cbdisplay 

     cbdisplay.setEditable(true); 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB"); 
     String query="Select Name from FAMILYcensus;"; 
     Statement st=con.createStatement(); 
     ResultSet res=st.executeQuery(query); 
       String temp; 

     while(res.next()) 
     { 

         temp=res.getString(1); 
       cbdisplay.addItem(temp); 


     } 
       con.close(); 
       st.close(); 

     } 
     catch(Exception e) 
     { 
      System.out.println("Error"); 
     } 
     finally 
     { 
      //P1.add(cmb); 
      //cbregno.setBounds(175,30,150,20); 
       cbdisplay.setSize(150,20); 
        } 
     } 
if(cbsearch.getSelectedItem().toString().equals("City")) 
{ 
       try 
     { 

     cbdisplay.setEditable(true); 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB"); 
     String query="Select LivingArea from FAMILYcensus;"; 
     Statement st=con.createStatement(); 
     ResultSet res=st.executeQuery(query); 
       String temp; 

     while(res.next()) 
     { 

         temp=res.getString(1); 
       cbdisplay.addItem(temp); 


     } 
       con.close(); 
       st.close(); 

     } 
     catch(Exception e) 
     { 
      System.out.println("Error"); 
     } 
     finally 
     { 
      //P1.add(cmb); 
      //cbregno.setBounds(175,30,150,20); 
       cbdisplay.setSize(150,20); 
        } 
     } 
if(cbsearch.getSelectedItem().toString().equals("Gotra")) 
{ 
       try 
     { 

     cbdisplay.setEditable(true); 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB"); 
     String query="Select Gotra from FAMILYcensus;"; 
     Statement st=con.createStatement(); 
     ResultSet res=st.executeQuery(query); 
       String temp; 

     while(res.next()) 
     { 

         temp=res.getString(1); 
       cbdisplay.addItem(temp); 


     } 
       con.close(); 
       st.close(); 

     } 
     catch(Exception e) 
     { 
      System.out.println("Error"); 
     } 
     finally 
     { 
      //P1.add(cmb); 
      //cbregno.setBounds(175,30,150,20); 
       cbdisplay.setSize(150,20); 
        } 
+0

我想知道爲什麼這個問題得到downvote沒有任何評論? – Aleadam 2011-04-06 04:40:52

+0

任何人在那裏幫助我的迫切 – amol 2011-04-06 05:35:12

+0

你正在受到歡迎。最後一次警告。 – Will 2011-04-06 14:39:15

回答

0

你需要一個ActionListener添加到您的第一個組合框是這樣的:

cbsearch.addActionListener (new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     //change the values in the second combo box 

    } 
});