[JAVA SWT]Is het mogelijk om Object te plaatsen in TableItem

Pagina: 1
Acties:

  • knopper
  • Registratie: September 2001
  • Laatst online: 25-12-2025

knopper

Sander Knopper

Topicstarter
Hoi allemaal,

Ik probeer een Table te vullen met gegevens uit een database met functionaliteit om deze gegevens te verwijderen of gegevens toe te voegen. Nu kun je natuurlijk de tekst uit een TableItem halen en vervolgens deze invoegen in het SQL statement om een rij te verwijderen a.d.h.v. die string. Maargoed, er zijn ook nog zoiets als id's waar de database ook gebruik van maakt.

Vandaar dat ik probeerde een Object aan te maken met daarin verwerkt het id en de rest van de gegevens (per rij uiteraard) zodat je bij het verwijderen niet zit te pielen met uitgebreide WHERE clauses maar hiervoor gewoon het id kunt gebruiken.

In dit Object zit ook een toString() methode die de juiste text uitspuugt die getoond moet worden in de Table.

Het probleem is dat het me maar niet lukt om Objecten in te voegen in een TableItem, zoals dat wel kan bij veel Swing widgets.

Zie ik iets over het hoofd, of zijn is er geen methode om dit te doen in SWT?

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 11-03 09:53

jvaneijk

Dr.Oak

bedoel je zoiets als een TableModel waarin je op kan geven hoe je model van je tabel er ong. uit komt te zien dus laat zeggen eerste kolom komen checkboxes 2e text?

of zie ik het verkeerd?

iRacing Profiel


  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 18:32
Naast de text van een TableItem heeft (net als alle widgets) die ook een getData/setData in 2 varianten, naamloos en een key/value variant. Hiermee kun je dus data koppelen aan de tabelinhoud.

Je kan dus met:
Java:
1
2
tableItem.setData(new Integer(object_database_id)); //anoniem
tableItem.setData("id", new Integer(object_database_id)); // named

een id koppelen. Dit zijn functies uit Widget, dus je kan dit overal op toepassen. Zie javadoc.

[ Voor 27% gewijzigd door DaCoTa op 17-05-2005 00:48 ]


  • knopper
  • Registratie: September 2001
  • Laatst online: 25-12-2025

knopper

Sander Knopper

Topicstarter
Thanks DaCoTa!

Maar begrijp ik het goed dat je per waarde, dus in dit geval het id en de tekst zelf zo'n setData() moet uitvoeren? Dus dat je dit krijgt:

(Een object "Country" met variabelen "id" en "name")

Java:
1
2
tableItem.setData ("id", Country.id);
tableItem.setData ("name", Country.name);


Of hoef je eigenlijk alleen maar het id als data te setten en Country.name weer gewoon als setText() ?

Het is dus niet mogelijk om weer de gegevens uit het tableItem als Country te casten?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Wat houdt je tegen om er in 1 keer een instantie van Country in te zetten?
code:
1
tableItem.setData (Country);

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • knopper
  • Registratie: September 2001
  • Laatst online: 25-12-2025

knopper

Sander Knopper

Topicstarter
Aangezien ik toch enkel het id nodig heb gooi ik maar niet het hele object erin.

Bedankt allemaal, kan weer even verder...;)

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 18:32
knopper schreef op dinsdag 17 mei 2005 @ 08:59:
[knip]
Of hoef je eigenlijk alleen maar het id als data te setten en Country.name weer gewoon als setText() ?

Het is dus niet mogelijk om weer de gegevens uit het tableItem als Country te casten?
Idd. En als je alleen id nodig hebt, kun je daarvoor dus de unnamed setData gebruiken. Als je Country nodig hebt, kun je die erin plempen. Wel onthouden wat je erin stopt, want je zult het terug moeten casten.
Pagina: 1