EclipseRCP Tabellen und Refreshen

G

Gast2

Gast
Hallo zusammen,

Hätte mal ein paar technische Fragen zum EclipseRCP...
1. Ist es möglich automatische nachladen bei Tabellen, Tree o.ä einzubauen? Das heißt es werden z.B. 20 Einträge angezeigt und beim Scrollen wird automatisch auf dem Server nachgeladen und die nächsten Einträge geholt?
2. Wenn in einem Textfeld etwas speichert kann man dann irgendwie alle anderen Client gleich mit aktualisieren??Also bei Flex, ZK geht das...

Ist sowas mit dem RCP möglich oder geht sowas nur mit Eclipse RIA oder gar nichts vorgesehen???

Danke
 

Wildcard

Top Contributor
Ist es möglich automatische nachladen bei Tabellen, Tree o.ä einzubauen? Das heißt es werden z.B. 20 Einträge angezeigt und beim Scrollen wird automatisch auf dem Server nachgeladen und die nächsten Einträge geholt?
Dafür ist das SWT.VIRTUAL Flag
2. Wenn in einem Textfeld etwas speichert kann man dann irgendwie alle anderen Client gleich mit aktualisieren??Also bei Flex, ZK geht das...
Du redest von Netzwerkkommunikation zu anderen Clients? Zb. per ECF.
 
G

Gast2

Gast
Also zu dem SWT.VIRTUAL. Es werden nur die Einträge angezeigt die so groß wie PAGE_SIZE sind.
Danach feuert der Listener ein Event dass nachgeladen werden kann... Das heißt ich hab in dem Listener einen Service der mir immer die passende Range zurückgeben muss? Kennst du dafür ein passendes Beispiel wie man sowas macht?

Java:
package snippet;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;

public class Snippet35 {

	public static void main(String[] args) {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setLayout(new FillLayout());
		final int COUNT = 100000;
		final int PAGE_SIZE = 11;
		final Table table = new Table(shell, SWT.VIRTUAL | SWT.BORDER);
		table.addListener(SWT.SetData, new Listener() {
			public void handleEvent(Event event) {
				TableItem item = (TableItem) event.item;
				int index = event.index;
				int page = index / PAGE_SIZE;
				System.out.println("page" +page);
				int start = page * PAGE_SIZE;
				System.out.println("star" +start);
				int end = start + PAGE_SIZE;
				System.out.println("end" +end);
				end = Math.min(end, table.getItemCount());
                                
                                 // hier müsste ich die datensätze holen oder????

				for (int i = start; i < end; i++) {
					item = table.getItem(i);
					item.setText("Item " + i);
				}
			}
		});
		table.setItemCount(COUNT);

		shell.setSize(200, 200);
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}

}
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Schon über ILazyTreeContentProvider gestolpert? ;)

Nö bin noch über gar nichts gestolpert ;), hat mich nur mal so interessiert ob es sowas gibt :)... Mussich mal anschauen^^, aber hört sich nach Tree und nicht nach Table an...

EDIT:mad:maki Ist doch nur für Trees oder?

Gibt es irgendwo ein gutes Einsteiger Tutorial für ECF?
 
Zuletzt bearbeitet von einem Moderator:

Ähnliche Java Themen


Oben