--- /dev/null
+package com.itmill.toolkit.tests.tickets;\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.Container.Filterable;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Table;\r
+import com.itmill.toolkit.ui.Window;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+\r
+public class Ticket1995 extends Application {\r
+\r
+ private static final Object PROPERTY_1 = "Test";\r
+ private Table table;\r
+\r
+ @Override\r
+ public void init() {\r
+ final Window mainWin = new Window(getClass().getSimpleName());\r
+ setMainWindow(mainWin);\r
+\r
+ table = new Table();\r
+ table.addContainerProperty(PROPERTY_1, String.class, "");\r
+ table.setPageLength(4);\r
+\r
+ Item item = table.addItem(1);\r
+ item.getItemProperty(PROPERTY_1).setValue("Row 1");\r
+ item = table.addItem(2);\r
+ item.getItemProperty(PROPERTY_1).setValue("Row 2");\r
+\r
+ Filterable filterable = (Container.Filterable) table\r
+ .getContainerDataSource();\r
+ filterable.addContainerFilter(PROPERTY_1, "Row", true, false);\r
+\r
+ table.setColumnHeader(PROPERTY_1, "Test (filter: Row)");\r
+\r
+ mainWin.addComponent(table);\r
+ mainWin.addComponent(new Button("Add item",\r
+ new com.itmill.toolkit.ui.Button.ClickListener() {\r
+\r
+ @Override\r
+ public void buttonClick(ClickEvent event) {\r
+ addItem();\r
+ }\r
+ }));\r
+ }\r
+\r
+ protected void addItem() {\r
+ Filterable filterable = (Container.Filterable) table\r
+ .getContainerDataSource();\r
+\r
+ filterable.removeAllContainerFilters();\r
+ Item i = table.addItem("abc");\r
+ String res = "";\r
+ if (i == null) {\r
+ res = "FAILED";\r
+ } else {\r
+ res = "OK!";\r
+ }\r
+\r
+ getMainWindow().showNotification("Tried to add item 'abc', " + res);\r
+\r
+ filterable.addContainerFilter(PROPERTY_1, "Row", true, false);\r
+\r
+ }\r
+}\r