# EclipseRCP Tabellen und Refreshen



## Gast2 (10. Jun 2010)

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 (11. Jun 2010)

> 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.


----------



## Gast2 (12. Jun 2010)

Wildcard hat gesagt.:


> Dafür ist das SWT.VIRTUAL Flag
> 
> Du redest von Netzwerkkommunikation zu anderen Clients? Zb. per ECF.



Werd ich mal ausprobieren!!!
Jop ich mein Netzwerkkommunikation muss ich mal ECF anschauen.


----------



## Gast2 (14. Jun 2010)

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?


```
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();
	}

}
```


----------



## maki (14. Jun 2010)

Schon über ILazyTreeContentProvider gestolpert?


----------



## Gast2 (14. Jun 2010)

maki hat gesagt.:


> 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...

EDITmaki Ist doch nur für Trees oder?

Gibt es irgendwo ein gutes Einsteiger Tutorial für ECF?


----------

