iOS - Consulta de Jtable-2

 
Vista:
sin imagen de perfil
Val: 1
Ha mantenido su posición en iOS (en relación al último mes)
Gráfica de iOS

Consulta de Jtable-2

Publicado por Hector (1 intervención) el 17/04/2019 00:12:36
Hola amigos del foro, he aquí nuevamente molestando por una consulta de un Jtable, les cuento tengo un formulario que se llama presupuesto, en el cual ingreso la mano de obra y repuestos, que anteriormente mencione por el problema de decrementar las filas, ahora el problema es el siguiente que hay un formulario que se llama cotización de repuestos, en el cual el usuario digita la patente que ya ingreso anteriormente en presupuesto y trae los datos solicitados además de los datos ya grabados anteriormente en la table de presupuestos, pero al momento de grabar los datos de la Jtable que llame anteriormente no graba, este es el código que utilizo para tal situación.
private void txtpatenteActionPerformed(java.awt.event.ActionEvent evt) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
String texto = txtpatente.getText();
texto = texto.replaceAll(" ", "");
if (texto.length() == 0) {
JOptionPane.showMessageDialog(null, "Error, debe ingresar la Patente del Vehículo.");
} else {
patente();
}
}
 
void patente() {
if (cmbpatente.getSelectedItem() == null || cmbpatente.getSelectedItem() != null) {
List<String[]> datos = MyQuery.getInstance().executeQuery("select Nombre_Compañia, Rut_Compañia, Fecha_Presupuesto, N_Siniestro, Nombre_Asegurado, Fono_Asegurado, Nombre_Tercero, Fono_Tercero, Marca_Vehiculo, Modelo_Vehiculo, Año_Vehiculo, Patente_Vehiculo, Chasis_Vehiculo from presupuesto where Patente_Vehiculo = ?", txtpatente.getText().toString());
if (datos != null && !datos.isEmpty()) {
datos.forEach(d -> {
txtcia.setText(d[0]);
txtrut.setText(d[1]);
txtfecha.setText(d[2]);
txtsiniestro.setText(d[3]);
txtnombre.setText(d[4]);
txtfonoasegurado.setText(d[5]);
txttercero.setText(d[6]);
txtfonotercero.setText(d[7]);
txtmarca.setText(d[8]);
txtmodelo.setText(d[9]);
txtaño.setText(d[10]);
txtpatente.setText(d[11]);
txtvin.setText(d[12]);
mostrardatos1(txtpatente.getText());
contar1();
txtcantidad.requestFocus();
if (cmdmodificar.equals(true)) {
cmdgrabar.setEnabled(false);
cmdeliminar.setEnabled(true);
cmdimprimir.setEnabled(true);
} else {
cmdgrabar.setEnabled(true);
cmdeliminar.setEnabled(false);
}
});
} else {
JOptionPane.showMessageDialog(null, "Esta patente no ha sidro ingresada aún en presupuestos.");
txtvin.requestFocus();
}
} else {
JOptionPane.showMessageDialog(null, "Esta patente no ha sidro ingresada aún en presupuestos.");
txtvin.requestFocus();
}
}
 
void mostrardatos1(String Valor) {
List<String[]> l = Valor.isEmpty()
? MyQuery.getInstance().executeQuery("select ID_Rep,N_Filas, Cant_Repuestos, Repuestos, Valor_Original, Valor_Alternativo, Patente_Vehiculo, Activo from presupuesto2")
: MyQuery.getInstance().executeQuery("select ID_Rep,N_Filas, Cant_Repuestos, Repuestos, Valor_Original, Valor_Alternativo, Patente_Vehiculo, Activo from presupuesto2 where Patente_Vehiculo = ?", Valor);
String[] columns = {
"ID",
"Nº Filas",
"Cant.",
"Repuestos",
"Original",
"Alternativo",
"Patente",
"Activo"
};
String[][] data = new String[l.size()][columns.length];
for (int i = 0; i < l.size(); i++) {
data[i] = l.get(i);
}
DefaultTableModel dtm = new DefaultTableModel(data, columns);
tblDatos.setModel(dtm);
TableColumn columna = tblDatos.getColumnModel().getColumn(0);
TableColumn columna1 = tblDatos.getColumnModel().getColumn(6); // aqui es donde las columnas que necesito que no se vean
TableColumn columna2 = tblDatos.getColumnModel().getColumn(7);
columna.setMaxWidth(0);
columna.setMinWidth(0);
columna.setPreferredWidth(0);
columna1.setMaxWidth(0);
columna1.setMinWidth(0);
columna1.setPreferredWidth(0);
columna2.setMaxWidth(0);
columna2.setMinWidth(0);
columna2.setPreferredWidth(0);
tblDatos.doLayout();
}
 
public void contar1() {
int i = 1;
for (int x = 0; x <= tblDatos.getRowCount(); x++) {
int suma = x + i;
txtitem.setText("" + suma);
}
}
una vez concluido que llame los datos, se debe realizar la suma de las columnas.
private void SumaRepActionPerformed(java.awt.event.ActionEvent evt) {
txttotal.setText("0");
int ta = tblDatos.getRowCount();
int c = 0;
do {
try {
int f = c++;
int n1 = Integer.parseInt(tblDatos.getValueAt(f, 4).toString());
String nu = txttotal.getText();
int nu2 = Integer.parseInt(nu);
long re1 = n1 + nu2;
txttotal.setText(String.valueOf(re1));
} catch (Exception e) {
 
}
} while (c < ta);
 
txttotal1.setText("0");
int ta1 = tblDatos.getRowCount();
int d = 0;
do {
try {
int f = d++;
int n1 = Integer.parseInt(tblDatos.getValueAt(f, 5).toString());
String nu = txttotal1.getText();
int nu2 = Integer.parseInt(nu);
long re1 = n1 + nu2;
txttotal1.setText(String.valueOf(re1));
} catch (Exception e) {
 
}
} while (c < ta);
}
una vez terminado dicho proceso se debe grabar los datos
private void cmdgrabarActionPerformed(java.awt.event.ActionEvent evt) {
String[] params = {
txtcia.getText().trim(),
txtrut.getText().trim(),
txtfecha.getText().trim(),
txtsiniestro.getText().trim(),
txtnombre.getText().trim(),
txtfonoasegurado.getText().trim(),
txttercero.getText().trim(),
txtfonotercero.getText().trim(),
txtmarca.getText().trim(),
txtmodelo.getText().trim(),
txtaño.getText().trim(),
txtpatente.getText().trim(),
txtvin.getText().trim(),
txttotal.getText().trim(),
txttotal1.getText().trim(),
txtactivo.getText().trim(),};
MyQuery.getInstance().executeStatement("insert into cotizacion values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", params);
modelPatente.addElement(txtpatente.getText().trim());
grabar();
JOptionPane.showMessageDialog(null, "Datos Grabados Satisfactoriamente");
bloqueo();
limpiar();
}
ahora grabo los datos de la Jtable
void grabar() {
try {
for (int i = 0; i < tblDatos.getRowCount(); i++) {
PreparedStatement pst = cn.prepareStatement("insert into cotizacion1(ID_Coti,N_Filas,Cant_Repuestos,Repuestos,Valor_Original,Valor_Alternativo,Patente_Vehiculo,Activo)");
pst.setString(1, tblDatos.getValueAt(i, 0).toString());
pst.setString(2, tblDatos.getValueAt(i, 1).toString());
pst.setString(3, tblDatos.getValueAt(i, 2).toString());
pst.setString(4, tblDatos.getValueAt(i, 3).toString());
pst.setString(5, tblDatos.getValueAt(i, 4).toString());
pst.setString(6, tblDatos.getValueAt(i, 5).toString());
pst.setString(7, tblDatos.getValueAt(i, 6).toString());
pst.setString(8, tblDatos.getValueAt(i, 7).toString());
pst.executeUpdate();
}
} catch (Exception e) {
System.out.print(e.getMessage());
}
}
me graba la tabla cotizacion pero no la tabla cotización1, favor de ayudarme desde ya muchas gracias, por que la idea de que el usuario de ahora en adelante llame datos y no digite todas las pantallas lo mismo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder