0

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

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

这是我的 ListGrid 声明:

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

1 回答 1

2

你不觉得根据更克制的标准重新获取是不合逻辑的吗?我会解释:

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

  • 一个词
  • 两个字
  • 一个句子

当您键入word时,获取返回:

  • 一个词
  • 两个字

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

添加one到 时word,因为这个 ss 是一个比较严格的搜索条件,不需要服务器抓取,只需要客户端过滤,结果是:

  • 一个词
于 2012-05-14T09:15:23.523 回答