Anónimo
Problema con el jtable
¿Amigo usted me puede ayudar con un jtable con casilla de verificaion?
1 Respuesta
Respuesta de roberto mota
1
1
Ahora estoy algo ocupado, ¿qué es lo que necesitas? ¿Con casilla de verifiación te refieres a un checkbox?
Así es, es aparentemente lo único que me falta saber para terminar mi sistema, lo que pasa es que yo visualizo los datos de una consulta a través del botón ver pero al momento de redefinir el modelo pierdo el checkbox, es decir es así el código del botón ver
try {
this.setSize(800, 500);
int f, i;
//////////////////
wcomando = "select fecha,b.nom_banco,num_docum,valor,ado_concilia,ado_bandera,pro_nombre,ado_proveedor,a.cod_banco,a.ado_numria,concepto,ado_tipo,ria_numero,ado_debitos";
wcomando += " from estado a left join banco b on a.cod_banco=b.cod_banco left join proveedor c on a.ado_proveedor=c.pro_codigo left join cta_bancaria d on a.ado_numria=d.ria_codigo";
wcomando += " WHERE a.COD_BANCO=" + wbco_codigo + " and ado_numria=" + wcta_codigo + " order by 1 ";
///////////////////
conn = Main.Enlace(conn);
st = Main.sta(st);
rs = st.executeQuery(wcomando);
String datos[] = new String[8];
///////////////
///////////////
/* Cuantas filas tiene la tabla*/
f = dtm.getRowCount();
// System.out.println("f"+f);
if (f > 0) {
for (i = 0; i < f; i++) {
dtm.removeRow(0);
}
}
while (rs.next()) {
datos[0] = (String) rs.getString(1);/*fecha*/
datos[1] = (String) rs.getString(12);/* nombre banco*/
datos[2] = (String) rs.getString(3);/*numero de documento*/
datos[3] = (String) rs.getString(14);/*debitos*/
datos[4] = (String) rs.getString(4);/*valor*/
datos[5] = (String) rs.getString(11);/*concepto*/
datos[6] = (String) rs.getString(5);/*fecha de conciliacion*/
datos[7] = (String) rs.getString(6);/*bandera de co*/
// new Boolean(false);
////////////
////////////
dtm.addRow(datos);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error BD" + e.toString());
}
Pero aqui no tengo una casilla de verificacion, entonces me consegui este codigo
/////////////////////
Tabla.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{ null, null, null, null, null,false},
{ null, null, null, null, null,false},
{ null, null, null, null, null,false},
{ null, null, null, null, null,false}
},
new String[]{
"Title 1", "Title 2", "Title 3", "Title 4","Title 5","Title 6"
}) {
Class[] types = new Class[]{
java.lang.Object.class, java.lang.Object.class, java.lang.Object.class,java.lang.Object.class,java.lang.Object.class, java.lang.Boolean.class
};
@Override
public Class getColumnClass(int columnIndex) {
return types[columnIndex];
}
});
////////////////
Solo que pierdo lo anterior, como puedo hacer para que me queden los datos con la casilla de verificación, no se si me explico
try {
this.setSize(800, 500);
int f, i;
//////////////////
wcomando = "select fecha,b.nom_banco,num_docum,valor,ado_concilia,ado_bandera,pro_nombre,ado_proveedor,a.cod_banco,a.ado_numria,concepto,ado_tipo,ria_numero,ado_debitos";
wcomando += " from estado a left join banco b on a.cod_banco=b.cod_banco left join proveedor c on a.ado_proveedor=c.pro_codigo left join cta_bancaria d on a.ado_numria=d.ria_codigo";
wcomando += " WHERE a.COD_BANCO=" + wbco_codigo + " and ado_numria=" + wcta_codigo + " order by 1 ";
///////////////////
conn = Main.Enlace(conn);
st = Main.sta(st);
rs = st.executeQuery(wcomando);
String datos[] = new String[8];
///////////////
///////////////
/* Cuantas filas tiene la tabla*/
f = dtm.getRowCount();
// System.out.println("f"+f);
if (f > 0) {
for (i = 0; i < f; i++) {
dtm.removeRow(0);
}
}
while (rs.next()) {
datos[0] = (String) rs.getString(1);/*fecha*/
datos[1] = (String) rs.getString(12);/* nombre banco*/
datos[2] = (String) rs.getString(3);/*numero de documento*/
datos[3] = (String) rs.getString(14);/*debitos*/
datos[4] = (String) rs.getString(4);/*valor*/
datos[5] = (String) rs.getString(11);/*concepto*/
datos[6] = (String) rs.getString(5);/*fecha de conciliacion*/
datos[7] = (String) rs.getString(6);/*bandera de co*/
// new Boolean(false);
////////////
////////////
dtm.addRow(datos);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error BD" + e.toString());
}
Pero aqui no tengo una casilla de verificacion, entonces me consegui este codigo
/////////////////////
Tabla.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{ null, null, null, null, null,false},
{ null, null, null, null, null,false},
{ null, null, null, null, null,false},
{ null, null, null, null, null,false}
},
new String[]{
"Title 1", "Title 2", "Title 3", "Title 4","Title 5","Title 6"
}) {
Class[] types = new Class[]{
java.lang.Object.class, java.lang.Object.class, java.lang.Object.class,java.lang.Object.class,java.lang.Object.class, java.lang.Boolean.class
};
@Override
public Class getColumnClass(int columnIndex) {
return types[columnIndex];
}
});
////////////////
Solo que pierdo lo anterior, como puedo hacer para que me queden los datos con la casilla de verificación, no se si me explico
No te entiendo, que se supone que hace el checkbox, ¿o para que lo ocupas y que es lo que pierdes los datos?. ¿Los quieres poner dentro de la tabla?
Veras yo quiero un jtable con una casilla de verificación, yo si se llenar un jtable con una consulta pero quiero en el jtable poner la consulta con una casilla de verificación, al momento tengo por separado es decir si redefino el modelo me pone la casilla de verificación pero me borra los datos, en cambio si lo lleno con la consulta que le envié en el código que le envié NO tengo la casilla de verificación
Quiero la casilla para poner esta transacción está verificada
He tratado de unir las 2 porciones de código que le he enviado pero no he obtenido lo que deseo es decir el jtable con casilla de verificación y los datos de la consulta de una sola vez
Quiero la casilla para poner esta transacción está verificada
He tratado de unir las 2 porciones de código que le he enviado pero no he obtenido lo que deseo es decir el jtable con casilla de verificación y los datos de la consulta de una sola vez
Y no has intentado a la hora de llenar la tabla llenar el primeroy luego los datos o viceversa
Si lo haces dentro de un while o for condicionarlo a que si ya n ohay datos agregue la casilla de verificación, ¿osea hacerlo en un solo paso?
Si lo haces dentro de un while o for condicionarlo a que si ya n ohay datos agregue la casilla de verificación, ¿osea hacerlo en un solo paso?
Si lo he intentado, pero a veces el pongo código y no hace nada o sigue sin funcionar o me sale error pero no hace lo que yo quiero, es decir el jtable cargado de datos con la casilla de verificaion, ¿ud sabe como funciona eso?
Si los e manejado pero no te entindo muy bien lo que necesitas, o tal ves esa parte no la e manejado :/
Si me desea dar revisando por favor le enviaría ese jframe y la tabla de la base de datos
Buenos días amigo como está, verá al momento me muestra el jtable con la casilla de verificación pero no se como se puede actualizar en la tabla los elementos que estén dado visto, me puede ayudar con eso
- Compartir respuesta
- Anónimo
ahora mismo