Update individual rows from Grid

I am trying to refresh a single row from the grid, but it is not visible.
I am making a rest call to get my list of objects that I am setting to the grid using grid.setItems(). Some of these objects have an internal state that changes after a while so I am making another call every few seconds and want to see these changes reflected on the UI. To do that I tried to use the grid.getListDataView().refreshItem() but the change is not visible on the UI.
Am I missing something?

if you are just checking for new data on the server side, but there is no triggering event from the client, you won’t see the updated grid data. For that you need to implement server side push: https://vaadin.com/docs/latest/advanced/server-push Alternatively you can implement a poll, either something manual like a button or automated, If you are already using one of these methods but aren’t seeing your data, then there’s some other issue and it would be good to have some additional details

Maybe the grid doesn’t know it’s the same item: Binding Items to Components | Data Binding | Vaadin Docs

Thanks, this was the issue. I was wondering how the grid finds if the item is the same even if I change the row. It can’t :smile:. After overriding the equals() and hashCode() I was able to update everything the row.

@quick-quetzal Thanks for the suggestion, but I was already doing a poll for automatically update the grid.