Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SWT Probleme mit auslesen aus Table

Empfohlene Antworten

Veröffentlicht

Hallo!

Ich habe ein Problem mit dem Auslesen einer SWT Table da kann ich nur mit Item.getText() die Item Texte auslesen aber was auf Spalte 2 und 3 ist komme ich nicht!

Hinzufügen habe ich so gemacht:


			Hashtable ht = fParser.FileParsen("c://Hallo.java", Query.getExp("Java"));


			TableColumn tableColumn1 = new TableColumn(table, SWT.NONE);

			tableColumn1.setWidth(310);

			tableColumn1.setText("Literale");


			tableColumn1 = new TableColumn(table, SWT.NONE);

			tableColumn1.setWidth(100);

			tableColumn1.setText("Key");


			tableColumn1 = new TableColumn(table, SWT.NONE);

			tableColumn1.setWidth(50);

			tableColumn1.setText("Lock");


			for (int i = 0; i < ht.size(); i++) {

				TableItem item = new TableItem(table, SWT.NONE);

			}

			TableItem[] items = table.getItems();


			Enumeration emu = ht.keys();


			for(int i=0; emu.hasMoreElements();i++){

				items[i].setText(0, (String)emu.nextElement());


				TableEditor editor = new TableEditor(table);

				Text text = new Text(table, SWT.NONE);

				editor.grabHorizontal = true;

				editor.setEditor(text, items[i], 1);


				editor = new TableEditor(table);

				Button check = new Button(table, SWT.CHECK);

				check.pack();

				editor.minimumWidth = check.getSize().x;

				editor.horizontalAlignment = SWT.CENTER;

				//editor.grabHorizontal = true;

				editor.setEditor(check, items[i], 2);

                           }

Vielen Dank im Voraus

Servus,

nimm für Code bitte die Code-Tags.

Um an die Texte aus anderen Spalten zu kommen, musst Du getText(int index) nehmen.

Peter

Uhi bin ich glatt hatte da wohl nicht richtig geschaut vielen Dank!

PS das mit den CodeTags mache ich beim nächten mal danke für den Tipp!

CU

Das Problem ist doch noch nicht gelösst habe ja via Editor ein Text bzw Checkcomponente! Und wenn ich da mit item.getText(1) zugreife ist das logischerweise nix :-(

Ok, also Dein Problem habe ich jetzt leider nicht mitbekommen. Kannst Du nochmal sagen, was Du genau brauchst? Du willst der Tabelle einen Editor zuweisen, damit die Zellen editiert werden können. Richtig?

So wie Du es machst, sollte es eigentlich gehen. Zum Thema Table und TableEditor kann ich Dir auch diese Seite empfehlen:

http://dev.eclipse.org/viewcvs/index.cgi/%7echeckout%7e/platform-swt-home/dev.html

Dort sind ein Haufen Code-Schnipsel zu finden.

Peter

Ich will eine Tabelle mit 3 Spalten haben 1 Spalte nicht editierbarer Text 2. Spalte editierbaren Text und 3. Spalte Checkbox.

Mit Hilfe des TableEditors habe ich hinbekommen das die 2. Spalte ein Textfeld ist welches ich bearbeiten kann aber nicht rausbekomme was drin steht :-( und das gleiche in der 3. Spalte mit der Checkbox anzeige und bearbeiten geht aber auslesen nicht :-(.

Ok, ich glaube, ich weiss jetzt, was Du willst. ;)

Dein TableEditor setzt sich über die eigentliche Zelle und verdeckt diese. Es ist also ein ganz normales Textfeld, das keinen Rahmen hat und vor der Tabelle liegt. Wenn Du da was reinschreibst, dann steht das zwar im Textfeld, aber nicht in der Zelle.

Der Weg, Zellen editierbar zu machen, ist Folgender:

Auf irgendein Event hin (z.B. Doppelklick oder Tastenkombination) fügst Du zu einer bestimmten Zelle einen Editor hinzu. Dieser ermöglicht das aufnehmen von Daten. Nach dem Eintragen muss der User sagen, dass er fertig ist mit editieren, z.B. mit einerm ENTER oder einer anderen Tastenkombination. Daraufhin wird der Text aus dem Editor in die Zelle übernommen und fertig.

Genauso wird es im Beispiel auf der von mir geposteten Seite gemacht. Schau Dir das einfach mal an.

Peter

Ja so hatte ich das auch verstanden das es da nur drüber gesetzt wird und ich deshalb nicht dran komme!

Die Seite kannte ich auch schon hatte das aber noch nicht gesehen gehabt hatte nur unter table geschaut!

Aber wie ich ebend festsellen musste gibts da noch nen Punkt TableEditor und da stehts dann wohl drin!

Dank dir erstma ma schaun ob ichs hinbekomme *g*

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.