0

我在面板内使用数据表,面板设置为每 60 秒自动刷新一次。面板有时似乎会提取未传递给对象的值。我正在使用 PropertyColumn 向数据表中添加列。有没有办法专门禁用检票口或数据表中的缓存

我有一个返回联系人列表的网络服务。此列表将传递给下面的所有面板

在 LoadContactPanel 中新建 ContactPanel(ViewPanel.getContentPanelId() , getContactListModel());

public IModel<List<Contact>> getContactListModel() {
    List<Contact> listofmodels = //get list from a webservice call
    return new ListModel<>(listofmodels);
}

在 ContactPanel 中,我加载了另一个名为 AccordianPanel 的面板

AccordianPanel 包含一个 RepeatingView

每个 RepeatingView 都是一个面板,在面板中,我添加了一个 DefaultDataTable

DefaultDataTable 的来源是 ContactDataProvider,它扩展了 SortableDataProvider

这是 ContactDataProvider 中模型方法的代码

@Override
public IModel<Contact> model(final Contact object) {

    return new AbstractReadOnlyModel() {
        private static final long serialVersionUID = 1L;

         @Override
        public Object getObject() {
                return object;
        } 
    };
}

在这种情况下,应该将什么转换为 LoadableDetachableModel。从 web 服务返回的一个或 ContactDataProvider 中的一个

4

1 回答 1

1

也许您正在从存储在内存中的模型加载数据。LoadableDetachableModel每次渲染组件时,您都应该使用它来加载数据。由于您提供的细节太少,不确定它是否回答了您的问题,请显示一些代码。

于 2013-09-03T20:56:09.803 回答