Checkbox + TableModel + Firebird

0 respostas
adsadilson

Boa noite galera, estou precisando de uma focinha para implementa uma coluna checkbox no tablemodel, infelizmente não consegui exibir o checkbox, alguém ai podeira me da uma focinha ver onde é q estou errado na implementação do tablemodel, ha uma duvida o banco de dado firebird não tipo dado boolean, mas li q pode ser substituto por char ou int é isso mesmo. Para criar essa coluna checkbox é necessário ter um campo boolean no banco de dado ou não tem nada a ver podendo ser criando em existi esse campo.

@Override
    public Class<?> getColumnClass(int columnIndex) {
        switch (columnIndex) {
            case 0:
                return Boolean.class;
            case 1:
                return String.class;
            case 2:
                return String.class;
            case 3:
                return String.class;
            case 4:
                return String.class;
            case 5:
                return String.class;
            case 6:
                return String.class;
            case 7:
                return String.class;
            case 8:
                return String.class;
            default:
                throw new IndexOutOfBoundsException("columnIndex out of bounds");
        }
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        obj = linhas.get(rowIndex);
        switch (columnIndex) {
            case 0:
                return obj.isCheckbox();
            case 1:
                return obj.getNum_doc();
            case 2:
                return Ulti.dt.format(obj.getEmissao());
            case 3:
                return obj.getN_parcela();
            case 4:
                return Ulti.dt.format(obj.getVencimento());
            case 5:
                return Ulti.dFqtde.format(obj.getDias());
            case 6:
                return dF.format(obj.getVlr_parcela());
            case 7:
                return Ulti.dt.format(obj.getPagamento());
            case 8:
                return obj.getPgto();
            default:
                throw new IndexOutOfBoundsException("columnIndex out of bounds");
        }
    }

    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        obj = linhas.get(rowIndex);

        System.out.println("columnIndex: " + columnIndex);

        switch (columnIndex) {
            case 0:
                if (aValue.getClass() == Boolean.class) {
                    obj.setCheckbox((Boolean)aValue);
                }
                break;
            case 1:
                if (aValue.getClass() == String.class) {
                    obj.setNum_doc(aValue.toString());
                }
                break;
            case 2:
                if (aValue.getClass() == String.class) {
                    obj.setEmissao(Date.valueOf(aValue.toString()));
                }
                break;
            case 3:
                if (aValue.getClass() == Double.class) {
                    obj.setN_parcela(aValue.toString());
                }
                break;
            case 4:
                if (aValue.getClass() == String.class) {
                    obj.setVencimento(Date.valueOf(aValue.toString()));
                }
                break;
            case 5:
                if (aValue.getClass() == String.class) {
                    obj.setDias(Integer.parseInt(aValue.toString()));
                }
                break;
            case 6:
                if (aValue.getClass() == String.class) {
                    obj.setVlr_parcela(Double.parseDouble(aValue.toString()));
                }
            case 7:
                if (aValue.getClass() == String.class) {
                    obj.setPagamento(Date.valueOf(aValue.toString()));
                }
            case 8:
                if (aValue.getClass() == String.class) {
                    obj.setPgto(aValue.toString());
                }
                break;
            default:
                throw new IndexOutOfBoundsException("columnIndex out of bounds");
        }
    }
    

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        switch (columnIndex) {
            case 0:
                return true;
            default:
                return false;
        }
    }
Criado 29 de abril de 2013
Respostas 0
Participantes 1