Jtable gibt -1 wert bei selectedRow und Column

Mauro1337

Mitglied
Guten Morgen Leute,

meine JTable gibt mir leider als Werte für selectedRow und Column -1 werte, egal welche zelle ich verwende.

Hier meine DB abfrage:
Java:
public static Vector[] getTableBearbeiten(){
       try{
           Connection con= DBConnect.getConnection();
           PreparedStatement st;
           st = con.prepareStatement("SELECT telefonzentrale2.*, terminvergabe2.Rueckruf1, terminvergabe2.Rueckruf2, "
                   + "terminvergabe2.Rueckruf3, terminvergabe2.Rueckruf4, terminvergabe2.Rueckruf5, terminvergabe2.Status"
                   + " FROM telefonzentrale2 LEFT JOIN terminvergabe2 ON telefonzentrale2.ID = terminvergabe2.TerminID"
                   + " WHERE terminvergabe2.Status = 0;");
           ResultSet rs = st.executeQuery();
           ResultSetMetaData rsmt = (ResultSetMetaData) rs.getMetaData();
           int c = rsmt.getColumnCount();
           Vector column = new Vector();
           for(int i = 1; i <= c; ++i){
               column.add(rsmt.getColumnName(i));
           }
           Vector data = new Vector();
           Vector row = new  Vector();
           while(rs.next()){
               row = new Vector(c);
               for(int i = 1; i <= c; ++i){
                   row.add(rs.getString(i));
               }
               data.add(row);               
           }
           Vector[] tableStuff = new Vector[2];
           tableStuff[0] = data;
           tableStuff[1] = column;
           return tableStuff;
       }catch(Exception e){e.printStackTrace();}
       return null;
   }

Kann es daran liegen, dass ich aus 2 DB Tabellen zusammensetze ?

Hier meine CellDetection:
Java:
table_data.addKeyListener(new KeyListener() {           
           @Override
           public void keyTyped(KeyEvent e) {}           
           @Override
           public void keyReleased(KeyEvent e) {}           
           @Override
           public void keyPressed(KeyEvent e) {
               if(e.getKeyCode() == 10){                   
                   int getselected_row = table_data.getSelectedRow()+1;
                   int getselected_column = table_data.getSelectedColumn()+1;
                   int selected_row = table_data.getSelectedRow();
                   int selected_column = table_data.getSelectedColumn();
                   String name_selectedcolumn = table_data.getColumnName(selected_column);
                   String selected_data = null;
                   String id;
                   System.out.println(table_data.getSelectedRow());
                   System.out.println(table_data.getSelectedColumn());
                   for(int i = 0; i < getselected_row; ++i){
                       for(int k = 0; k < getselected_column; ++k){                           
                           selected_data = (String) table_data.getValueAt(i, k);                           
                       }
                   }                   
                   id = (String) table_data.getValueAt(selected_row, 0);
                   System.out.println(selected_data);
                   System.out.println(name_selectedcolumn);
                   System.out.println(id);
                   System.out.println(selected_column);
                   System.out.println(table_data.getColumnCount());
                   try {
                       DBConnect.insert(selected_data, id, name_selectedcolumn);   
                   } catch (Exception e1) {
                       e1.printStackTrace();
                       JOptionPane.showMessageDialog(null, "Eintragung fehlgeschlagen!");
                   }
               }               
           }
       });

Bedanke mich bereits jetzt schon

Gruß Mauro
 
Nein daran liegt es bestimmt nicht wenn auch deine Tabellenstruktur eine einzige KAthastrophe ist.

Es wird wahrscheinlich daran liegen wie du die Tabelle erstellst und ins Scrollview hängst aber den Code zeigst du uns ja nicht.

Gruß

Claus
 

Zurück
Oben