Joseph Gagnon
Joseph Gagnon

Reputation: 2115

Vaadin 14 TreeGrid - Cannot add the same item multiple times

Working on a project that will display hierarchies of "tasks". I'm running into a problem where it will not allow for multiple entries of the same object. From what I can tell, the "duplicate" item is under a different parent.

The domain data allows for this - a given task may appear in lots of places.

It would seem that this is intentional (maybe), but is there a way around this?

Upvotes: 0

Views: 998

Answers (2)

Joseph Gagnon
Joseph Gagnon

Reputation: 2115

Well, this is probably not the best solution, but it works. I added a field to the abstract super class that is initialized with the current time (long ms). When I am adding items to the tree grid, I check to see if the tree contains the item and if so, I randomize the field and then add it. The new field is marked @Transient so it's not persisted.

Upvotes: 0

ollitietavainen
ollitietavainen

Reputation: 4275

It's intentional to a degree; each Grid and TreeGrid data item is expected to be unique. You could work around this by creating your own implementation of the hierarchical DataProvider class (for example extend AbstractHierarchicalDataProvider) which overrides the getId method along with the other required methods. The return value of this method needs to be unique per item, as it's used as a hash key.

Upvotes: 1

Related Questions