ordenar columnas de numeros de mayor a menor de jtable

Iniciado por soy_nicanor, 4 Febrero 2017, 23:29 PM

0 Miembros y 1 Visitante están viendo este tema.

soy_nicanor

Que objeto de la tabla debo incluir en NULL y como.
Código (java) [Seleccionar]

modelo = new DefaultTableModel(null, titulos) {
                    public Class getColumnClass(int column) {
                      if (column >= 0 && column <= getColumnCount())
                        return getValueAt(0, column).getClass();
                      else
                        return Object.class;
                    }
                };


Estos datos se muestra en la Tabla.
Código (java) [Seleccionar]

String[] titulos = {"Vendedor","Efectivo ", "Efectivo Cja", "Dato"};
        String[] registro = new String[4];
        modelo = new DefaultTableModel(null, titulos);

        Connection cn = Conexion.getConnection();

        String sSQL = "SELECT usuario.usuario, reportediario.gananciaTotal, reportediario.efectivoBruto "+
                "FROM reportediario " +
                "INNER JOIN usuario ON usuario.id_us=reportediario.id_us ";               
        try
        {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(sSQL);
            int i=0;
            while(rs.next())
            {
                registro[0] = rs.getString("usuario.usuario");
                registro[1] = rs.getString("reportediario.gananciaTotal");
                registro[2] = rs.getString("reportediario.efectivoBruto");
                registro[3] = String.valueOf(i);
                i++;
                modelo.addRow(registro);               
            }           
            jTable1.setModel(modelo);//Buscador Princiapal         
           
            modelo = new DefaultTableModel(null, titulos) {
                    public Class getColumnClass(int column) {
                      if (column >= 0 && column <= getColumnCount())
                        return getValueAt(0, column).getClass();
                      else
                        return Object.class;
                    }
                };
        }
        catch (SQLException ex){
            JOptionPane.showMessageDialog(null, ex);
        }
       
        TableRowSorter<TableModel> elQueOrdena = new TableRowSorter<TableModel>(modelo);     
        jTable1.setRowSorter(elQueOrdena);


De antemano Gracias.

gato06

Hola, podrias pasar el proyecto entero para probarlo, que dato del select que realizas quieres tomar como indice principal para ordenar de mayor a menor

soy_nicanor

#2
Al dar clic en la cabecera de la tabla Ordena de A - z


Lo que yo quiero es que también ordene x columna de Números.

soy_nicanor

Este código me ordena bien los caracteres el problema es con numeros

Código (java) [Seleccionar]

String[] titulos = {"Vendedor","Efectivo ", "Efectivo Cja", "Dato"};
       String[] registro = new String[4];
       modelo = new DefaultTableModel(null, titulos);

       Connection cn = Conexion.getConnection();

       String sSQL = "SELECT usuario.usuario, reportediario.gananciaTotal, reportediario.efectivoBruto "+
               "FROM reportediario " +
               "INNER JOIN usuario ON usuario.id_us=reportediario.id_us ";                
       try
       {
           Statement st = cn.createStatement();
           ResultSet rs = st.executeQuery(sSQL);
           int i=0;
           while(rs.next())
           {
               registro[0] = rs.getString("usuario.usuario");
               registro[1] = rs.getString("reportediario.gananciaTotal");
               registro[2] = rs.getString("reportediario.efectivoBruto");
               registro[3] = String.valueOf(i);
               i++;
               modelo.addRow(registro);              
           }            
           jTable1.setModel(modelo);//Buscador Princiapal          
       }
       catch (SQLException ex){
           JOptionPane.showMessageDialog(null, ex);
       }
       
       TableRowSorter<TableModel> elQueOrdena = new TableRowSorter<TableModel>(modelo);      
       jTable1.setRowSorter(elQueOrdena);