Anónimo
Problema con jtable
¿Amigo me puede ayudar?
Respuesta de Angel Torres
1
1
Angel Torres, Ing. Sistemas Comp., Software / WEB developer, Software Tester,...
¿Creo qué estoy perdido amigo aver cual fue tu pregunta?
¿Me la puedes repetir
¿Me la puedes repetir
Verá yo quiero definir el modelo de un jtable con filas y columnas con el objetivo de poder visualizar la casilla de verificación en una columna
Amigo quiero un ejemplo sencillo para poder visualizar el jtable, o un paso a paso
El ejemplo más explicado que pude encontrar es este ...
http://www.javahispano.org/contenidos/es/jtable_con_ejemplos_parte_1/
Echale un ojo...
Y me preguntas lo que no entiendas va :)
http://www.javahispano.org/contenidos/es/jtable_con_ejemplos_parte_1/
Echale un ojo...
Y me preguntas lo que no entiendas va :)
Verá yo me copié el código de desarrollo web sobre este tema y ya me sale la casilla de verificación
El problema que tengo es que ahora no puedo visualizar los elementos del jtable a través del botón visualizar
¿Esto está en la inicialización es?
El código del botón visualizar es
DefaultTableModel dtm = new DefaultTableModel();
try {
this.setSize(700, 350);
int f, i;
conn = Main.Enlace(conn);
rs = Main.EnlChequesBco(rs, wbco_codigo, wcta);
String datos[] = new String[6];
f = dtm.getRowCount();
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(2);/* nombre banco*/
datos[2] = (String) rs.getString(3);/*numero de documento*/
datos[3] = (String) rs.getString(4);/*valor*/
datos[4] = (String) rs.getString(5);/*fecha de conciliacion*/
datos[5] = (String) rs.getString(6);/*bandera de conciliacion*/
for (i = 0; i < f; i++) {
// if (datos[5].equalsIgnoreCase("true")) {
String str=datos[5];
if (Integer.parseInt(str.trim())==0){
Tabla.setValueAt(false, i, 5);
//columna 5 setValue true
} else {
Tabla.setValueAt(true, i, 5);
//columna 5 setValue false
}
}
// datos[5] = (String) rs.getString(6);
System.out.println("datos 5 "+datos[5]);
// System.out.println("datos 6"+datos[6]);
/* if (datos[5].equalsIgnoreCase("true")) {*/
// String str=datos[5];
System.out.println("Contador "+Tabla.getRowCount());
// if (Integer.parseInt(str.trim())==0){
//
// Tabla.setValueAt(false,1, 5);
//
// } else {
//
// Tabla.setValueAt(true,Tabla.getRowCount(), 5);
//
//
// }
dtm.addRow(datos);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error BD" + e.toString());
}
/* activaBotones(true, false, false, false, false);*/
Este codigo he aumentado para visualizar la casilla de verificacion
////////////////////
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];
}
});
////////////////////
El problema que tengo es que ahora no puedo visualizar los elementos del jtable a través del botón visualizar
¿Esto está en la inicialización es?
El código del botón visualizar es
DefaultTableModel dtm = new DefaultTableModel();
try {
this.setSize(700, 350);
int f, i;
conn = Main.Enlace(conn);
rs = Main.EnlChequesBco(rs, wbco_codigo, wcta);
String datos[] = new String[6];
f = dtm.getRowCount();
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(2);/* nombre banco*/
datos[2] = (String) rs.getString(3);/*numero de documento*/
datos[3] = (String) rs.getString(4);/*valor*/
datos[4] = (String) rs.getString(5);/*fecha de conciliacion*/
datos[5] = (String) rs.getString(6);/*bandera de conciliacion*/
for (i = 0; i < f; i++) {
// if (datos[5].equalsIgnoreCase("true")) {
String str=datos[5];
if (Integer.parseInt(str.trim())==0){
Tabla.setValueAt(false, i, 5);
//columna 5 setValue true
} else {
Tabla.setValueAt(true, i, 5);
//columna 5 setValue false
}
}
// datos[5] = (String) rs.getString(6);
System.out.println("datos 5 "+datos[5]);
// System.out.println("datos 6"+datos[6]);
/* if (datos[5].equalsIgnoreCase("true")) {*/
// String str=datos[5];
System.out.println("Contador "+Tabla.getRowCount());
// if (Integer.parseInt(str.trim())==0){
//
// Tabla.setValueAt(false,1, 5);
//
// } else {
//
// Tabla.setValueAt(true,Tabla.getRowCount(), 5);
//
//
// }
dtm.addRow(datos);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error BD" + e.toString());
}
/* activaBotones(true, false, false, false, false);*/
Este codigo he aumentado para visualizar la casilla de verificacion
////////////////////
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];
}
});
////////////////////
aver hasta abajo donde dice Tabla.setModel(..... lo q esta entre parentesis quitalo y pon eso = dtm quedaria asi
Tabla.setModel(dtm) {
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];
}
});
Me dices que paso
Tabla.setModel(dtm) {
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];
}
});
Me dices que paso
Me indica falta ;
Tabla.setModel(dtm);
{
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];
}
});
¿Aver así?
{
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];
}
});
¿Aver así?
Amigo en ireport pongo una consulta donde está un campo y no me sale el campo porque será
¿Tal vez tiene la respuesta de la pregunta anterior?
¿Tal vez tiene la respuesta de la pregunta anterior?
Disculpa no he podido responder por cuanto estuve probando si así sin utilizar una matriz de objetos me salia pero veo que no me sale, no se si eso te puedo preguntar, porque yo le mandaba a ejecutar una consulta con 3 parámetros a una clase Main pero parece que eso no hay como hacer, porque no me visualiza nada, cuando le envío con un solo paramtero ahí si me funciona, es decir si me visualiza el jtable
¿El cambio que hice es ponerle la consulta en el mismo formulario pero me sale un error no se si me puedes ayudar?
¿El cambio que hice es ponerle la consulta en el mismo formulario pero me sale un error no se si me puedes ayudar?
Amigo con respecto a esto de visualizar el jtabla simple sin casilla de verificación, en otros formularios me acepta pero en este jframe no, ¿será por qué le paso 2 parámetros?, el botón ver estado es este
try {
this.setSize(800, 500);
int f, i;
conn = Main.Enlace(conn);
rs = Main.EnlChequesBco(rs,wbco_codigo,wcta);
String datos[] = new String[6];
/* 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(2);/* nombre banco*/
datos[2] = (String) rs.getString(3);/*numero de documento*/
datos[3] = (String) rs.getString(4);/*valor*/
datos[4] = (String) rs.getString(5);/*fecha de conciliacion*/
datos[5] = (String) rs.getString(6);/*bandera de conciliacion*/
dtm.addRow(datos);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error BD" + e.toString());
}
Lo que pasa es que quiero en un jframe elegí un banco de un combo luego una cta en otro combo y que el jtable me presente reusltados del jtable filtrado por los 2 criterios anteriores
La consulta es esta
public static ResultSet EnlChequesBco(ResultSet rs,String wbco_codigo1,String wcta1) throws SQLException {
st = sta(st);
String wcomando;
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";
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";
wcomando += " WHERE a.COD_BANCO=" + wbco_codigo1 + " and ado_numria=" + wcta1 + " order by 1 ";
System.out.println("Comando" + wcomando);
rs = st.executeQuery(wcomando);
//
return rs;
}
Porque no me visualiza
try {
this.setSize(800, 500);
int f, i;
conn = Main.Enlace(conn);
rs = Main.EnlChequesBco(rs,wbco_codigo,wcta);
String datos[] = new String[6];
/* 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(2);/* nombre banco*/
datos[2] = (String) rs.getString(3);/*numero de documento*/
datos[3] = (String) rs.getString(4);/*valor*/
datos[4] = (String) rs.getString(5);/*fecha de conciliacion*/
datos[5] = (String) rs.getString(6);/*bandera de conciliacion*/
dtm.addRow(datos);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error BD" + e.toString());
}
Lo que pasa es que quiero en un jframe elegí un banco de un combo luego una cta en otro combo y que el jtable me presente reusltados del jtable filtrado por los 2 criterios anteriores
La consulta es esta
public static ResultSet EnlChequesBco(ResultSet rs,String wbco_codigo1,String wcta1) throws SQLException {
st = sta(st);
String wcomando;
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";
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";
wcomando += " WHERE a.COD_BANCO=" + wbco_codigo1 + " and ado_numria=" + wcta1 + " order by 1 ";
System.out.println("Comando" + wcomando);
rs = st.executeQuery(wcomando);
//
return rs;
}
Porque no me visualiza
Amigo como leo un campo tipo fecha, ya que getText no puedo usar
Saludos
Gracias por la atención
Saludos
Gracias por la atención
Amigo como incluyo un reporte de ireport en un proyecto de netbeans
Creo que ya te había comentado que no he usado ireport pero pues me imagino que te genera un archivo solo cópialo ala carpeta
La vdd no se bien
Puedes cerrar tu pegunta
La vdd no se bien
Puedes cerrar tu pegunta
Disculpa es que a veces se me cruzan los cables porque trato de hacerme de ayudar de un exeperto u otro y se me olvida, pero no está demás hacerte la pregunta de pronto me puedas ayudar
- Compartir respuesta
- Anónimo
ahora mismo