在过去的几周里,我一直在尝试 GWTP,并用它构建了一个小项目。
这是问题:
我有一个显示数据列表的网格小部件(附加屏幕截图)。在选择一行的复选框并单击 时Edit Request
,我进入了详细信息页面。
由于我有所有数据(模型)要显示在摘要屏幕演示器本身的详细信息页面中,因此我不想再次从数据库中获取它。
所以,我做了以下事情:
- 在选择并单击编辑请求时,我得到了选定的模型
- 向详细信息页面发出地点请求
- 触发
edit event
并将所选模型作为参数传递。
我知道我做错了,因为当我选择一个项目并点击Edit Request
时,详细信息页面尚未收到所选项目。它只显示一个没有填充数据的空白页面(显然,因为在事件触发之前已经到达该位置)。
当前代码:
RequestModel selectedItem = getView().getGrid().getSelectionModel().getSelectedItem();
PlaceRequest placeRequest=new PlaceRequest(NameTokens.initiationedit);
getEventBus().fireEvent(new RequestEditEvent(selectedItem, PHASE_INITIATION));
placeManager.revealPlace(placeRequest);
个人认为的解决方案:我可以使用所选项目的参数发出一个 placerequest,而不是触发一个事件,id
然后覆盖useManualReveal
和prepareFromRequest
以从数据库中获取新的数据。
但是有没有办法可以避免数据库调用预先存在的数据。