when I save unchanged data , I can click the same record again
in case of changing any data, grid is refreshed but I can click button only of others rows but not the one I just changed. I can repeat this many times, and always it doesn’t work
My first guess is, that you have an equals/hash over all fields of your model, not just the id? At least that would be a trace why it is working, when you have not changed your item in the dialog.
Also the select(null) might be an issue, use deselectAll() instead (but I am not sure atM, if grid refresh all might do that even automatically)
If equals/hash and select are not helping:
What exactly is happening on the save action inside your dialog?
Do you save the data to jpa?
What kind of data provider do you use (set items with a list or a callback provider)?
Is there maybe other code, that you could provide, that helps with finding the issue?
The gist of it is, that Grid (and basically anything with a data
provider) has to “translate” between your server-side objects and the
client-side JS world.
This is done building a mapping between the two and the server-side uses
the hash-code from the objects.
The most common mistake is to not provide an implementation, the
fallback (object identity) is used, and things break. Overdoing it will
not work properly either, as you have already found out.