When configuring a ComboBox, you have an option for setting the trigger action. TriggerAction.ALL works as intended when working with local data, but not when loading from the server. The problem is that the all-query is not correctly forwarded to the server.

Looking at the advanced combobox example, I spotted a line that ignored the query defined earlier, and read data directly from the combobox instead:

Code:
        public void onBeforeLoad(BeforeLoadEvent<ForumLoadConfig> event) {
          String query = combo.getText();
          if (query != null && !query.equals("")) {
            event.getLoadConfig().setQuery(query);
          }
        }
As far as I can see, the query from the cell is never forwarded to the loader. As a workaround I extended the ComboBoxCell, and added this method:

Code:
    @Override
    protected final ListLoadConfig getParams(final String query) {
        if (this.pageSize > 0) {
            QueryPagingLoadConfig config = null;
            if (this.loader.isReuseLoadConfig()) {
                config = (QueryPagingLoadConfig) this.loader.getLastLoadConfig();
            } else {
                config = new QueryPagingLoadConfigBean();
            }
            config.setLimit(this.pageSize);
            config.setOffset(0);
            config.setQuery(query);
            return config;
        } else {
            ListLoadConfig config = null;
            if (this.loader.isReuseLoadConfig()) {
                config = (ListLoadConfig) this.loader.getLastLoadConfig();
            } else {
                config = new ListLoadConfigBean();
            }
            return config;
        }
    }
This variant creates a paging load config with the query attached, and forwards this load config. This interface and bean is implemented as follows:

Code:
public interface QueryPagingLoadConfig extends PagingLoadConfig {

    void setQuery(final String query);

    String getQuery();
}
Code:
public class QueryPagingLoadConfigBean extends PagingLoadConfigBean implements QueryPagingLoadConfig {

    private String query;

    @Override
    public final String getQuery() {
        return this.query;
    }

    @Override
    public final void setQuery(final String query) {
        this.query = query;
    }
}

By doing this, the TriggerAction.ALL setting worked as intended when loading data from the server.