DefaultTableModel Spalten ausblenden

ODW

Mitglied
Hallo liebe Java-Gemeinde
Ich habe hier ein kleines Problem, mit dem DefaultTableModel. Ich möchte das die ID in der Ersten Spalte ausgeblendet wird, allerdings brauche ich die ID für spätere Zwecke. Muss dazu sagen, dass ich noch relativ neu bin in der Programmierung und irgendwie grad nicht weiterkomme. Für jede Hilde bin ich dankbar.
Hier mein Code:
Java:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.table.DefaultTableModel;

public class RecipeOverviewFill extends DefaultTableModel
{

	private static final long serialVersionUID = 1L;

	Connection con = null;
	
	public RecipeOverviewFill()
	{
		con = DataBaseConnector.getConnection();
		
		try
		{
			Statement smt = con.createStatement();
			ResultSet rs = smt.executeQuery("SELECT * FROM rezepte");

			ResultSetMetaData rsmd = rs.getMetaData();
			int clmCnt = rsmd.getColumnCount();

			try
			{
				rs.first();
				rs.last();
				int rowCnt = rs.getRow();
				rs.first();

				Object[][] odata = new Object[rowCnt][clmCnt];
				Object[] clmHeaders = new Object[clmCnt];
				
				char head1;
				char tmp;
				String head2="";

				for (int i = 1; i <= clmCnt; i++)
				{
					if (rsmd.getColumnName(i).matches("rezeptID"))
					{
						clmHeaders[i - 1] = "Rezept Nr.";
					} else
					{
								head1 = rsmd.getColumnName(i).toUpperCase().charAt(0);
								for (int j=1;j<rsmd.getColumnName(i).length();j++)
								{
									tmp=rsmd.getColumnName(i).toLowerCase().charAt(j);
									head2+=tmp;
								}
								clmHeaders[i - 1] =head1+head2;
								head2="";
					}
				}

				int row = 0;
				do
				{
					for (int j = 1; j <= clmCnt; j++)
					{
						odata[row][j - 1] = rs.getString(j);
					}
					row++;
				} while (rs.next());

				this.setDataVector(odata, clmHeaders);

			} catch (SQLException e1)
			{
				e1.printStackTrace();
			}

			this.fireTableStructureChanged();
			this.fireTableDataChanged();

		} catch (SQLException e)
		{
			System.err.println("SQL-Error:" + e.getMessage());
			System.exit(1);
		}

	}
}
 
S

SlaterB

Gast
erste Spalte wird schwer ohne eigenes Model, aber wenn du die Id in die letzte Spalte setzt und die Liste der Column-Überschriften um 1 kürzt, dann erscheint die letzte Spalte nicht in der GUI,
das DefaultTableModel kannst du dann allerdings auch kaum mehr um die Daten der letzten Spalte befragen..

dann die Daten nochmal in der Klasse RecipeOverviewFill ablegen und per neue Methoden die Id abfragen
oder gleich weitere TableModel-Methoden implementieren, getValueAt(), & Co.,
dann kannst du alles steuern (Spalte+1 zurückgeben usw.)
How to Use Tables (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)

----

wenn du die Connection con nur einmal brauchst, dann lieber nur als lokale Variable im Konstrukor,
sonst wird sie vielleicht unnötig lang offen gehalten oder so
 

ODW

Mitglied
Danke für die Antwort, habe nun etwas gefunden, wie ich es schaffen kann auszublenden

Java:
this.t_topleft.getColumn([I]name[/I]).setMinWidth(0);
this.t_topleft.getColumn([I]name[/I]).setMaxWidth(0);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H SQLite mit DefaultTableModel synchronisieren Datenbankprogrammierung 5
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
P Derby/JavaDB JPA Reihenfolge Spalten ändern Datenbankprogrammierung 6
C PostgreSQL Anzahl der Spalten ermitteln Datenbankprogrammierung 2
E Wie kann man BLOB-Spalten in DB2 einfügen? Datenbankprogrammierung 9
E Kann man in DB2 Boolean Spalten erstellen? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
D Aufteilung ähnlicher Spalten Datenbankprogrammierung 2
M DES und ASC auf verschiedene Spalten anwenden Datenbankprogrammierung 2
S MySQL Befüllen von mehreren Spalten Datenbankprogrammierung 1
I Was ist besser: Tabellen oder Spalten Datenbankprogrammierung 1
V Hibernate und optionale Spalten? Datenbankprogrammierung 2
turmaline [HQL] Dynamische Spalten erzeugen Datenbankprogrammierung 14
R MySQL Unbenutzte Tabellen/Spalten herausfinden Datenbankprogrammierung 7
T Spalten einer SQL-Anfrage vorhersagen Datenbankprogrammierung 6
N Zwei Spalten und Ihre Werte vergleichen Datenbankprogrammierung 3
H Group By mit mehreren Spalten Datenbankprogrammierung 2
multiholle SQL Querry über mehrere Spalten Datenbankprogrammierung 12
G Spalten definieren Datenbankprogrammierung 5
A MSSQL - Spalten mit der Option: NULL zulassen Datenbankprogrammierung 2
thE_29 ResultSet und doppelte Spalten Datenbankprogrammierung 4
H Individuelle Datenbankfelder/-spalten wie realisieren? Datenbankprogrammierung 3
W Anzahl der Spalten eines ResultSets bestimmen Datenbankprogrammierung 5
Y Hibernate - Update bestimmter Spalten Datenbankprogrammierung 2
G Spalten Namen auslesen und Zeilen daten auslesen Datenbankprogrammierung 17
G maximale Länge von Spalten ermitteln Datenbankprogrammierung 3
M Maximum aus verschiedenen Spalten Datenbankprogrammierung 2
J Alle Spalten und Zeilen eines ResultSets ausgeben ? Datenbankprogrammierung 2
R getString() auf double-Spalten(DECIMAL) Nachkommastellen weg Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben