1

这是我想要实现的目标:

有一个 Ext.grid.GridPanel 显示来自多个商店的数据。放入“数据库术语”,基本上显示了多个商店内容的“视图”。与使用单元格渲染器相比,这种方法的好处是所有列都是可排序和可搜索的。

为此,必须定义和配置像 Ext.data.StoreView 这样的对象,以从所有相关存储中检索并最终转换数据,并将其呈现给 GridPanel,就像它是单个存储一样。

请注意,即使查看的商店只是一个,这也可能会派上用场。例如,考虑一个具有两个数字字段和一个网格的商店,该网格在各自的列中显示这两个字段,第三列显示这两个字段的总和。您可以使用单元格渲染器轻松完成此操作,但您错过了对该字段进行排序的机会。您也可以通过向您的商店添加一个“sum”字段并将总和放在那里来实现相同的目的,但这意味着复制值以及在每次更新时保持该字段值同步的所有麻烦。

现在的问题是:是否有人知道是否存在任何(甚至几乎没有)类似的东西,或者我是否只需要实现它?

谢谢!

4

1 回答 1

1

我正在寻求实现类似的东西,但反过来:我希望将同一个存储附加到 2 个网格,但每个网格使用不同的过滤器(在 ExtJs 3.x 中,过滤是在存储级别完成的,而不是绑定控件)。

但是我希望在一个网格中进行的编辑能够反映在另一个网格中(如果一个项目与两个过滤器都匹配),所以我想我会编写一个 StoreView 类型的类来复制原始存储中的所有记录(记录实例是特定于存储的)并听取到所有者商店上的事件进行更改,并将任何编辑等应用到原始商店。

对此的扩展将是满足您的需求 - 让这样的类能够充当多个商店的视图或代理。

如果我还没有找到,我打算下周开始写这篇文章——如果你想交换笔记/代码,请告诉我......

于 2011-01-13T02:13:30.280 回答