2

在我的应用程序中,我将 DefaultDataTable 与具有 LoadableDetachableModel 作为模型的 SortableDataProvider 一起使用。

我用它来显示一组记录(比如RecordList页面)。当我添加或删除一些记录并再次加载页面 RecordList时,它会显示更改。但是,如果我使用浏览器的后退按钮并转到之前租用的 RecordList页面(在添加/删除记录之前)。DefaultDataTable 仍然有旧的记录集。当记录被删除时,这是一个大问题。

例如,如果我删除一条记录并按下后退按钮,则页面将失败,因为它试图显示的记录在数据库中不存在。添加不会产生问题,因为它根本没有在记录集中列出。

在另一个页面中,我只有带有 LoadableDetachableModel 的 PageableListView。它工作正常,没有问题。

4

1 回答 1

1

对此,您可以做一两件事。

首先请检查数据提供者是否有最新的数据。

其次,确保在点击浏览器后退按钮时刷新数据提供者的记录集。确保提供给数据提供者的数据在构造函数之外的方法中刷新。因为当你回击时不会调用构造函数。因此,您需要使用单独的方法。理想情况下,您可以使用相同的方法,但从构造函数和按下后退按钮时调用。

于 2013-03-27T11:26:46.587 回答