Table not updating when Container is updated in the background.

I have a Container that

 implements Container,
		Container.Sortable, Container.Indexed, Container.ItemSetChangeNotifier, Container.PropertySetChangeNotifier

The container is updated via a background thread, which includes property name change, row count, etc. basically the whole container content is changed.

I have code that should be telling the table of such change


for (ItemSetChangeListener l : this.itemSetChangeListeners) {
			l.containerItemSetChange(new Container.ItemSetChangeEvent() {
				@Override
				public Container getContainer() {
					return MyContainer.this;
				}
			});

		}
		
		for (PropertySetChangeListener l : this.propertySetChangeListeners) {
			l.containerPropertySetChange(new Container.PropertySetChangeEvent() {
				
				@Override
				public Container getContainer() {
					return MyContainer.this;
				}
			});

		}

but even with this, the UI does not update the table, and it seems the only way to force it is to do a

uitable.setContainerDataSource(uitable.getContainerDataSource());

I have attempted a

uitable.refreshRowCache(); 
uitable.markAsDirtyRecursive();

but that does nothing.

Can anyone advise ? am I missing something ?

Hi,

I used the
fireItemSetChange
method inside my class which was extending HierarchicalContainer. It is implemented in in the AbstractContainer class, maybe you can have a look at it.

Good luck.