Foro de elhacker.net

Programación => Java => Mensaje iniciado por: soy_nicanor en 4 Febrero 2017, 23:29 pm



Título: ordenar columnas de numeros de mayor a menor de jtable
Publicado por: soy_nicanor en 4 Febrero 2017, 23:29 pm
Que objeto de la tabla debo incluir en NULL y como.
Código
  1. modelo = new DefaultTableModel(null, titulos) {
  2.                    public Class getColumnClass(int column) {
  3.                      if (column >= 0 && column <= getColumnCount())
  4.                        return getValueAt(0, column).getClass();
  5.                      else
  6.                        return Object.class;
  7.                    }
  8.                };
  9.  

Estos datos se muestra en la Tabla.
Código
  1. String[] titulos = {"Vendedor","Efectivo ", "Efectivo Cja", "Dato"};
  2.        String[] registro = new String[4];
  3.        modelo = new DefaultTableModel(null, titulos);
  4.  
  5.        Connection cn = Conexion.getConnection();
  6.  
  7.        String sSQL = "SELECT usuario.usuario, reportediario.gananciaTotal, reportediario.efectivoBruto "+
  8.                "FROM reportediario " +
  9.                "INNER JOIN usuario ON usuario.id_us=reportediario.id_us ";                
  10.        try
  11.        {
  12.            Statement st = cn.createStatement();
  13.            ResultSet rs = st.executeQuery(sSQL);
  14.            int i=0;
  15.            while(rs.next())
  16.            {
  17.                registro[0] = rs.getString("usuario.usuario");
  18.                registro[1] = rs.getString("reportediario.gananciaTotal");
  19.                registro[2] = rs.getString("reportediario.efectivoBruto");
  20.                registro[3] = String.valueOf(i);
  21.                i++;
  22.                modelo.addRow(registro);              
  23.            }            
  24.            jTable1.setModel(modelo);//Buscador Princiapal          
  25.  
  26.            modelo = new DefaultTableModel(null, titulos) {
  27.                    public Class getColumnClass(int column) {
  28.                      if (column >= 0 && column <= getColumnCount())
  29.                        return getValueAt(0, column).getClass();
  30.                      else
  31.                        return Object.class;
  32.                    }
  33.                };
  34.        }
  35.        catch (SQLException ex){
  36.            JOptionPane.showMessageDialog(null, ex);
  37.        }
  38.  
  39.        TableRowSorter<TableModel> elQueOrdena = new TableRowSorter<TableModel>(modelo);      
  40.        jTable1.setRowSorter(elQueOrdena);
  41.  

De antemano Gracias.


Título: Re: ordenar columnas de numeros de mayor a menor de jtable
Publicado por: gato06 en 12 Febrero 2017, 00:36 am
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


Título: Re: ordenar columnas de numeros de mayor a menor de jtable
Publicado por: soy_nicanor en 12 Febrero 2017, 02:12 am
Al dar clic en la cabecera de la tabla Ordena de A - z
(http://i44.tinypic.com/zvxym1.jpg)

Lo que yo quiero es que también ordene x columna de Números.
(https://javaparasereshumanos.files.wordpress.com/2014/08/quick-search-table.jpg)


Título: Re: ordenar columnas de numeros de mayor a menor de jtable
Publicado por: soy_nicanor en 12 Febrero 2017, 02:14 am
Este código me ordena bien los caracteres el problema es con numeros

Código
  1. String[] titulos = {"Vendedor","Efectivo ", "Efectivo Cja", "Dato"};
  2.        String[] registro = new String[4];
  3.        modelo = new DefaultTableModel(null, titulos);
  4.  
  5.        Connection cn = Conexion.getConnection();
  6.  
  7.        String sSQL = "SELECT usuario.usuario, reportediario.gananciaTotal, reportediario.efectivoBruto "+
  8.                "FROM reportediario " +
  9.                "INNER JOIN usuario ON usuario.id_us=reportediario.id_us ";                
  10.        try
  11.        {
  12.            Statement st = cn.createStatement();
  13.            ResultSet rs = st.executeQuery(sSQL);
  14.            int i=0;
  15.            while(rs.next())
  16.            {
  17.                registro[0] = rs.getString("usuario.usuario");
  18.                registro[1] = rs.getString("reportediario.gananciaTotal");
  19.                registro[2] = rs.getString("reportediario.efectivoBruto");
  20.                registro[3] = String.valueOf(i);
  21.                i++;
  22.                modelo.addRow(registro);              
  23.            }            
  24.            jTable1.setModel(modelo);//Buscador Princiapal          
  25.        }
  26.        catch (SQLException ex){
  27.            JOptionPane.showMessageDialog(null, ex);
  28.        }
  29.  
  30.        TableRowSorter<TableModel> elQueOrdena = new TableRowSorter<TableModel>(modelo);      
  31.        jTable1.setRowSorter(elQueOrdena);
  32.