sql >> Database >  >> RDS >> Mysql

Schakel een bepaalde rij in JTable uit met behulp van gegevens uit de database

Probeer met overschreven prepareRenderer() methode om de rij grijs te maken op basis van gegevens

Voorbeeldcode:(gebruik de waarde van de eerste kolom om te valideren)

Object[] columnNames = { "A", "B", "C", "D" };
Object[][] data = { 
        { "abc", new Double(850.503), 53, true },
        { "lmn", new Double(36.23254), 6, false }, 
        { "pqr", new Double(8.3), 7, false },
        { "xyz", new Double(246.0943), 23, true } };

JTable table = new JTable(data, columnNames) {
    @Override
    public java.awt.Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
        java.awt.Component comp = super.prepareRenderer(renderer, row, col);
        Object value = getModel().getValueAt(row, 0);
        if (value.equals("lmn")) {
            comp.setBackground(Color.lightGray);
        }  else {
           comp.setBackground(Color.white);
        }
        return comp;
    }
};

Controleer voor knoppen op waarde en doe niets.

Hoe de waarde van de geselecteerde rij te krijgen?

if(table.getSelectedRow()!=-1){
    int rowIndex=table.getSelectedRow();
    Object value=table.getModel().getValueAt(rowIndex, 0);
    if(value.equals("lmn")){
        //do nothing
    }else{
        // perform desired operation
    }
}



  1. Kolomalias specificeren met door de gebruiker gedefinieerde variabele

  2. MySQL-index voor MIN en MAX

  3. Android - Betere aanpak bij het laden van SD-KAART-afbeeldingen

  4. MySQL converteren naar MS Access