--- /dev/null
+package com.itmill.toolkit.tests.components.table;\r
+\r
+import com.itmill.toolkit.Application;\r
+import com.itmill.toolkit.data.Container;\r
+import com.itmill.toolkit.data.Item;\r
+import com.itmill.toolkit.data.util.IndexedContainer;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Table;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Window;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.Button.ClickListener;\r
+\r
+public class TestCurrentPageFirstItem extends Application implements\r
+ ClickListener {\r
+\r
+ private Button buttonIndex;\r
+ private Button buttonItem;\r
+ private Table table;\r
+ private int counter = 0;\r
+ IndexedContainer container = new IndexedContainer();\r
+\r
+ @Override\r
+ public void init() {\r
+ try {\r
+ Window main = new Window("Table header Test");\r
+ setMainWindow(main);\r
+ main.setSizeFull();\r
+ // setTheme("testtheme");\r
+ VerticalLayout baseLayout = new VerticalLayout();\r
+ main.setLayout(baseLayout);\r
+\r
+ table = new Table();\r
+ container.addContainerProperty("row", String.class, "");\r
+ table.setContainerDataSource(container);\r
+ table.setWidth("100%");\r
+ table.setPageLength(3);\r
+ buttonIndex = new Button("Add row and select last index", this);\r
+ buttonItem = new Button("Add row and select last item", this);\r
+\r
+ baseLayout.addComponent(table);\r
+ baseLayout.addComponent(buttonIndex);\r
+ baseLayout.addComponent(buttonItem);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ Item item = container.addItem(++counter);\r
+ item.getItemProperty("row").setValue(counter + "");\r
+ table.select(counter);\r
+ if (event.getButton() == buttonIndex) {\r
+ table.setCurrentPageFirstItemIndex(((Container.Indexed) table\r
+ .getContainerDataSource()).indexOfId(counter));\r
+ } else {\r
+ table.setCurrentPageFirstItemId(counter);\r
+ }\r
+ }\r
+}\r