【问题标题】:ExtJs4 Mapping a treeStore level to a StoreExtJs4 将 treeStore 级别映射到 Store
【发布时间】:2012-07-12 05:38:35
【问题描述】:

将树存储的级别映射到平面存储的好方法是什么。就我而言,

我想对搜索条件进行分组。所有搜索条件都插入到 treeStore 的顶层,除非它们被分组,在这种情况下它们成为顶层逻辑(AND 或 OR)节点的子节点。因此,在网格中,我想显示顶级节点(通过我将在模型中定义的一些 toString 方法)。这是最简单的部分,我只需遍历树的顶层并为 Store/grid 生成输出。但是,当我想从网格/存储中删除某些内容时,还需要从代表实际逻辑结构的树存储中删除它。

那么,我如何跟踪哪个文本存储项对应于我的 treeStore 中的哪个顶级节点?

【问题讨论】:

  • 请发布您的树和网格模型。
  • 网格模型是一个隐式模型,我生成的文本只有一个字段,那里没有模型。树模型包含各种字段。模型的字段内容实际上并不重要,除非加入标识符字段是解决问题的合理解决方案,尽管这会引入另一层复杂性。
  • 我在想两个解决方案。第一个当然是在模型中引入 Id 字段。第二个是使用过滤器。
  • 过滤器解决方案是什么样的?
  • 您可以定义过滤器,通过检查某些字段/字段来过滤商店中的记录。过滤器,可以添加到存储配置的过滤器集合中。

标签: model-view-controller extjs grid extjs4 store


【解决方案1】:

将数据加载到 store 或 treegrid(但不能同时加载),然后从一个对象收集记录,然后将它们添加到另一个对象(使用 store.add() 或 treestore.getRootNode().appendChild())。此时如果你有对记录的引用,你可以说 store.remove([record]);然后 treestore.getRootNode().removeChild(record);将其从两者中删除。

【讨论】:

    猜你喜欢
    • 2011-09-09
    • 2012-02-23
    • 2014-11-15
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    相关资源
    最近更新 更多