sql >> Databáze >  >> RDS >> Mysql

Zakázat konkrétní řádek v JTable pomocí dat z databáze

Zkuste to s přepsaným prepareRenderer() metoda k zašednutí řádku na základě dat

Ukázkový kód:(k ověření použijte hodnotu prvního sloupce)

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;
    }
};

U tlačítek zkontrolujte hodnotu a nedělejte nic.

Jak získat hodnotu vybraného řádku?

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. Jak vypočítat hodnotu násobení uvnitř smyčky while v PHP?

  2. Získání uložené procedury mySQL má za následek další uloženou proceduru

  3. Spuštění dvou SQL dotazů na jedné stránce php (SET + SELECT)

  4. Vzdálená připojení Mysql Ubuntu