【问题标题】:Extjs binding another store to grid as another propertyExtjs 将另一个商店作为另一个属性绑定到网格
【发布时间】:2020-06-22 07:17:16
【问题描述】:

我有一个带有商店的网格。在 ViewModel 中,我在 stores 属性中创建了商店。在网格中,我将 bind 属性放入该商店。这很好用。
我想将另一家商店附加为一个名为 fullStore 的属性。我应该遵循哪些步骤?它应该在 data 属性下还是在 stores 属性下?我应该扩展网格组件以将 fullStore 添加为配置吗?

我创建了一个fiddle。我想在 getOptionsFromStore() 函数(填充列表列)中使用 fullStore 而不是使用网格存储。那是因为网格存储是分页的。

注意:我使用的是 6.5.2 版本

【问题讨论】:

    标签: extjs grid bind store


    【解决方案1】:

    我认为您可以在同一视图模型中定义第二个商店的配置并使用视图模型本身 fiddle 绑定它(为您创建示例以节省时间)。如果您的第二个存储具有相同的型号并且您不需要显示附加信息,则无需更改组件(旧的扩展)

    编辑:

    哦,您继续使用 grid.filter 进行实验。做你需要的最简单的方法是为过滤器本身定义存储。但是在这种情况下,过滤器存储逻辑的过滤将停止工作fiddle。顺便说一句,grid.filter 不能绑定 store(或其他东西),因为它们不是从 Ext.Component 扩展的,因此没有 Ext.mixin.Bindable

    【讨论】:

    • 我认为我没有很好地解释自己。我用小提琴更新了我的问题。请检查一下。提前致谢。
    • 除了@pvlt 的回答,如果您的模型不同并且您想使用不同的商店、模型和列填充相同的网格,您可以使用grid.reconfigure 方法
    • @pvlt 我想将一个新商店作为一个名为 fullStore 的属性附加到网格中,然后,当我在 getOptionsFromStore() 中时函数,我想使用该商店:getOptionsFromStore: function (store) { store = this.grid.fullStore; 我想这样做是因为我不想建立多个商店(每列一个),我希望 ExtJS 执行创建过滤器的过程。然后我捕获 filterchange 事件来过滤 fullStore 商店。
    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    相关资源
    最近更新 更多