在Listgrid的过滤器编辑器中编辑数据不会导致fetchData

时间:2012-05-07 12:43:35

标签: java filter smartgwt listgrid

我有一个ListGrid,过滤器编辑器设置为可见。 通常,如果我在过滤器编辑器中键入数据,则会导致从服务器获取数据,并且正在调用executeFetch(..)方法。

但在某些情况下,编辑过滤器数据后不会调用此方法。 例如,如果我输入“ word ”,它会在ListGrid.中显示一些数据 然后我将光标移动到第一个位置,输入“一个”,所以总而言之我有过滤字符串“一个字”。在这种情况下,不执行提取,并且不再显示“旧”数据。 也许我需要禁用一些resultSet / Criteria的缓存?

这是我的ListGrid声明:

ListGrid grid = new ListGrid();
grid.setCanEdit(false);
grid.setShowFilterEditor(true);
grid.setDataSource(getSource());
grid.setDataPageSize(DATA_PAGE_SIZE);
grid.setFields(gridFields);

1 个答案:

答案 0 :(得分:2)

难道你不觉得以更加克制的标准重新获取是不合逻辑的吗? 我会解释一下:

SmartGWT使用数据缓存来优化客户端 - 服务器连接并减少网络流量。 在您的示例中,假设您的数据库中包含以下内容:

  • 一个字
  • 两个字
  • 一句话

当您输入word时,提取将返回:

  • 一个字
  • 两个字

这些值会缓存在您的客户端中。

one添加到word时,因为这是一个更具限制性的搜索条件,不需要服务器提取,只有客户端过滤器,结果是:

  • 一个字