16. december 2002 - 22:55Der er
3 kommentarer og 2 løsninger
Trække data ud fra en Vector
Hej,
Jeg har i JTable med to Vectorer. Jeg ville meget gerne om nogen kunne fortælle hvordan man hiver data ud at sådan en Vector.
Her er opbygningen af min JTable:
sql = "SELECT EANNr as EAN, VareNavn as Navn, Antal, BufferAntal, ReolID as Reol, PladsNr as Plads FROM Vare ORDER BY VareNavn ASC"; ResultSet rs = db.executeResult(sql);
Vector dbtable = new Vector(); ResultSetMetaData meta = rs.getMetaData();
Vector header = new Vector();
for (int i = 1; i <= meta.getColumnCount(); i++) header.add(meta.getColumnLabel(i));
while (rs.next()) { Vector tupple = new Vector();
for (int i = 1; i <= meta.getColumnCount(); i++) tupple.add(rs.getObject(i)); dbtable.add(tupple); }
table = new JTable(dbtable, header);
Jeg vil gerne kunne hive data ud ved f.eks dobbeltklik på en række i tabellen.
>arne Du gad mig tidligere et svar, som hjalp, og som er det samme som dette problem. I dette tilfælde er det ikke en string der skal ud, men et object(vector) import java.util.*; import java.sql.*; import Vare; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionEvent; import javax.swing.JScrollPane; import javax.swing.JPanel; import javax.swing.JFrame; import java.awt.*; import java.awt.event.*; public class DBvare { private DBFunctions db; private String sql; JTable table; private boolean DEBUG = false; private boolean ALLOW_ROW_SELECTION = true;
public DBvare(DBFunctions d) { db = d; }
// Søger via et SQL statement i databasen og returnerer resultaterne i en Vector public JTable alleVarer() {
try { sql = "SELECT EANNr as EAN, VareNavn as Navn, Antal, BufferAntal, ReolID as Reol, PladsNr as Plads FROM Vare ORDER BY VareNavn ASC"; ResultSet rs = db.executeResult(sql);
Vector dbtable = new Vector(); ResultSetMetaData meta = rs.getMetaData();
// Gør data klar til opdatering af databasen private void printDebugData(JTable table) { int numRows = table.getRowCount(); int numCols = table.getColumnCount(); javax.swing.table.TableModel model = table.getModel(); System.out.println("Value of data: "); for (int i=0; i < numRows; i++) { System.out.print(" row " + i + ":"); for (int j=0; j < numCols; j++) { System.out.print(" " + model.getValueAt(i, j)); } System.out.println(); } System.out.println("--------------------------"); }
public void opretVare(int varegruppe, String eannr, String varenavn, int antal, int bufferantal, int reolid, int plads) { int VareGruppe = varegruppe; String EanNr = "'" + eannr + "'"; String VareNavn = "'" + varenavn + "'"; int Antal = antal; int BufferAntal = bufferantal; int ReolId = reolid; int Plads = plads;
Jeg har løst et lignende problem på denne måde. Jeg havde også en JTable opbygget af vectorer, så har jeg proppet en mouselistener på min JTable og her er min mouseClicked:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.