| |||
| Hola a todos, a ver si pueden ayudarme, he leido muchas cosas y no lo termino de enteneder. Tengo una JFrame, dentro un JPanel, en el que hay un JTable que listo personas. Dni nombre apellido activo el campo activo en la bd es un checkbox, asique yo querria que sea un Check Box por fuera del JTable, hay un boton "Eliminar", que al apretarlo, elimina todas las personas que hayan sido selecionada de la JTabla, Como hago esto? DefaultTableModel AbstarctTableModel dirctamente al JTable? y como manejo los eventos en los diferentes campos, en este caso los check. Bueno esoro me ayuden gracias |
| ||||
| Respuesta: Como hacer JTable con checkboxs La forma más fácil es que heredes de DefaultTableModel. Sobreescribe el método getColummClass() de forma que en la columna que quieres un checkbox devuelva Boolean.class
Código java:
Ver originalCopiar por supuesto, debe llamar a jtable.setModel() para pasarle tu clase hija de DefaultTableModel y debes meter datos Boolean en esa columna. Se bueno. |
| |||
| Respuesta: Como hacer JTable con checkboxs grosooo, lo solucione así
Código:
columnIndex==2, 2 es la ubicacion de los checks en la tabla, osea la 3er columna.class MyTableModelN extends DefaultTableModel{
@Override
public Class getColumnClass (int columnIndex) {
if (columnIndex==2){
return Boolean.class;
}else {
return super.getColumnClass(columnIndex);
}
}
}
Ahora como hago para al hacer click en un boton eliminar, que tengo en el panel donde esta el JTable, para eliminar los seleccionados. Osea yo tengo ya un metodo cargarTabla, que carga la tabla desde la BD, Ahora yo deberoa de alguna forma saber que checks estan seleccionados, eliminar y llamar denuevo a cargarTabla. COMO SE CUALES CHECKS ESTAN SELECCIONADOS, Y COMO HAGO PARA QUE LOS CHECKS TENGAN EL ID DE LA PERSONA, PARA PODER ELIMINARLO DE LA bd. Gracias |
| ||||
| Respuesta: Como hacer JTable con checkboxs Haz un bucle y vete llamando en tu modelo MyTableModelN al método getValueAt(fila, 2) y te devolverá un Object que en realidad es un Boolean que te indicará si está chequeado o no el check.
Código java:
Ver originalCopiar He puesto los métodos un poco de memoria, tendrás que revisar sin la sintaxis es la correcta. Se bueno. |
| |||
| Respuesta: Como hacer JTable con checkboxs si estas mostrando el id de BD, puedes ir metiendolos en un arraylist o vector y despues lo mandas a un metodo para que borre cada uno. yo recomiendo que en vez de colocar un booleano editable, permitas hacer multiples selecciones con shift y control (poniendo una pequeña leyenda) y asi retornas de una vez todos los getSelectedRows() (creo q retorna una coleccion de los indices seleccionados del modelo) Cita:
Iniciado por chuidiang Haz un bucle y vete llamando en tu modelo MyTableModelN al método getValueAt(fila, 2) y te devolverá un Object que en realidad es un Boolean que te indicará si está chequeado o no el check.
Código java:
Ver originalCopiar He puesto los métodos un poco de memoria, tendrás que revisar sin la sintaxis es la correcta. Se bueno. |
| |||
| Respuesta: Como hacer JTable con checkboxs Hola, mil gracias, lo solucione asi
Código:
no use el getSelectedRows porque lei tarde la parte esa. int p=0;
int cantidad=modelo.getRowCount();
int cantsel=0;
int confirmado = JOptionPane.showConfirmDialog(null, "¿Está seguro de eliminar estas Marcas?","Eliminar MArca",JOptionPane.YES_NO_OPTION);
if (JOptionPane.YES_OPTION == confirmado==true) {
for (int i = cantidad -1; i >= 0; i--){
if (((Boolean)modelo.getValueAt(i, 2).equals(Boolean.TRUE))) {
cantsel++;
Marca m=new Marca();
int valor= (Integer) JTableListado.getModel().getValueAt(i,0);
modelo.removeRow(i);
m.setIdMarca(valor);
unListadoMarcasModel.delete(m);
}
}
}
if (cantsel==0){
JOptionPane.showMessageDialog(this.unListadoMarcasJFrameView, "Debe seleccionar una Marca", "Error", JOptionPane.ERROR_MESSAGE);
}
ja, pero bueno, esta es una solucion... grcias |