gpt4 book ai didi

java - 如何在 Ext GWT 中的 RequestBuilder 中发送网格过滤器参数?

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:43 24 4
gpt4 key购买 nike

分页功能和本地过滤是完美的,但我需要远程过滤器,并且我想将过滤器参数发送到请求方法。

谢谢!

我有这个代码:

String path =  GWT.getHostPageBaseURL() + (Examples.isExplorer() ? "" : "../../" ) + "backend/index.php?action=getLines";  

RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, path);
HttpProxy<String> proxy = new HttpProxy<String>(builder);

JsonPagingLoadResultReader<PagingLoadResult<ModelData>> reader = new JsonPagingLoadResultReader<PagingLoadResult<ModelData>>(type);

final PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy,
reader);

[...]


NumericFilter sorszamFilter = new NumericFilter("Sorszam");

StringFilter nevFilter = new StringFilter("Nev");

DateFilter datumFilter = new DateFilter("Datum");
NumericFilter szamFilter = new NumericFilter("Szam");

GridFilters filters = new GridFilters();
filters.setLocal(true);
filters.addFilter(sorszamFilter);
filters.addFilter(nevFilter);
filters.addFilter(datumFilter);
filters.addFilter(szamFilter);

//example
sorszamFilter.addListener(Events.Update, new Listener<FilterEvent>() {
@Override
public void handleEvent(FilterEvent be) {
???
}

});

[...]

final PagingToolBar toolBar = new PagingToolBar(10);
toolBar.bind(loader);

loader.load(0, 10);

最佳答案

看起来BasePagingLoader可以使用loadConfig对象进行自定义。 loadConfig 应该是 ModelData 类型的对象,更具体地说是 PagingLoadConfig。使用创建一个新的loadConfig

final ModelData loadConfig = (ModelData) ((BasePagingLoader).loader).newLoadConfig();

方法。然后强制加载器使用这个loadConfig:

((BasePagingLoader).loader).useLoadConfig(loadConfig);

loadConfig 应该是 ModelData 的可变实例。这就是为什么您可以使用

向其添加新属性
loadConfig.set("selectedFilter", "what_ever_you_like_here")
loadConfig.set("direction", "ASC");

这应该代替您放置的问号,并且应该强制 HttpProxy 将您设置的任何内容添加到 loadConfig 属性中。 (有关如何借助 loadConfig 构建请求的引用,请参阅 HttpProxy#generateUrl 方法)。然后您必须在服务器端相应地处理该请求。我假设您使用 GXT 2.2.x,老实说我还没有编译它,希望它能正常工作。

关于java - 如何在 Ext GWT 中的 RequestBuilder 中发送网格过滤器参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12253172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com