我对 dojox.grid 组件(即 EnhancedGrid 和 LazyTreeGrid)应该如何与新的 dojo 存储 API 一起使用感到困惑,因为它们似乎没有。
我正在尝试使用两个网格(一个用于平面数据,另一个用于分层数据)和一个带有自定义 rpc 服务的 JSON 存储(这是 dojox.data.jsonRestStore 的一个选项,但不适用于dojo.store.jsonRest),因为 Web 应用程序需要能够在代理后面运行,这可能会导致“PUT”和“DELETE”请求出现问题。
dojox.data.jsonRestStore 的问题是我无法使用lazyTreeGrid 运行它(对于它从初始get 获取的每条记录,它都会使用空查询调用另一个get,基本上导致浏览器挂起并造成数百成千上万的请求)。除此之外,显然不应该再使用它了,因为它使用的是“旧的”dojo 数据 API,而不是新的 dojo 存储 API。
现在另一个问题是,dojox.grids 似乎仍在使用旧的数据 API,这意味着我必须使用 dojo.data.objectStore 才能让它们与新的 dojo.store.jsonRest 一起使用,但这也不起作用,因为 objectStore 似乎不适用于延迟加载和分层数据。同样如前所述,似乎没有一种方法可以为新的 dojo.store.jsonRest 定义自定义 rpc 服务,但我需要它,因此我只能使用 GET 和 POST 方法发出所有请求。
所以,总而言之,我对这些组件应该如何协同工作感到非常困惑,但也许我遗漏了一些东西?是否有 dojox.grid 组件的替代品支持嵌套排序、延迟加载、类似树形网格的行为?
还是现在开始使用新的 dojo 商店 API 还为时过早?