Usin PagedTable with JPAContainer

Hi, I’ve used the PagedTable addon and think is very useful and well done created. I’m currently using it with JPAContainer but noticed that when the value on the container change the table is not refreshed. As an example, if you use the JPAContainer example application then you will not see any modification (the rows are depicted gree, blue o red depending on the operation made). Is there something additional to code while using this kind of container?

Hi! I’m to one who has created the PagedTable, the guilty one.

I haven’t tested it with JPAContainer. Sounds to me that the proxy container, that the table uses, doesn’t pass some notifications forward to the table that the JPAContainer sends. Does the updating work with a regular Table?

I believe that fixing that requires then some changes to the add-on itself. I don’t have much time right now for this hobby project, so don’t have your hopes up to high, but I’ll see what I can do.

Hi, thanks for you’re response.
Yes, by using a normal table the update operation worls perpectly. However, for more details, when the data contained is changed, I noticed that the table can be “forced” refreshed: for example by click on the header of a column.I think that find a workaround for this kind of problem is very simple, but of course it will be great if the PagedTable worked perfectly also by using JPAContainer (or general indexed container at all). If I can give my “two cents” contribution on the addon, then I will certainly do it. Thanks.

I have a feeling that the problem is that PagedTableContainer doesn’t implement Container.PropertySetChangeNotifier. A workaround could be to trigger a requestRepaint or something like that when the data changes. The sources for the project can be found on
GitHub
if you want to tinker with them.

I was in fact wrong about PropertySetChangeNotifier as that notices if the available properties in the container changes, and not the data. It still has to do about passing the data change notification, but I have to look somewhere else.

How you somehow managed to solve this problem?