setRowData(int, List) replaces the range of data. So, if the list gets shorted, it doesn't touch the items that appear after the end of the list.
You have to update the row count as well:
table.setRowData(0, NewMessages);
table.setRowCount(NewMessages.size(), true);
Or, you can use the new version of setRowData that does not take a start index (since GWT 2.1.1):
table.setRowData(NewMessages);
Thanks,
John LaBanca
jlab...@google.com
When using the same technique, i am adding the cell table is being
updated but when removing, it not updating