Model view controller Extjs:如何从视图访问外部存储';s渲染器

Model view controller Extjs:如何从视图访问外部存储';s渲染器,model-view-controller,extjs,extjs4,renderer,Model View Controller,Extjs,Extjs4,Renderer,我有一个网格,其中有一些存储,分配给它,并使用combobox作为列编辑器(另一个存储值)。为了在网格中显示正确的值,我使用自定义渲染器,在这个渲染器中,我需要访问combobox的存储——这就是问题所在 我认为有两种可能的方法: 以某种方式将该存储从控制器放入网格 从组合框中获取存储 不幸的是,我找不到解决方案。你能帮助我吗?先谢谢你 当前的渲染器代码目前无法解决我的问题(需要重新制作才能从存储中获取标题) UPD:新渲染器,正在工作: var comboRenderer = func

我有一个网格,其中有一些存储,分配给它,并使用combobox作为列编辑器(另一个存储值)。为了在网格中显示正确的值,我使用自定义渲染器,在这个渲染器中,我需要访问combobox的存储——这就是问题所在

我认为有两种可能的方法:

  • 以某种方式将该存储从控制器放入网格
  • 从组合框中获取存储
  • 不幸的是,我找不到解决方案。你能帮助我吗?先谢谢你

    当前的渲染器代码目前无法解决我的问题(需要重新制作才能从存储中获取标题)

    UPD:新渲染器,正在工作:

        var comboRenderer = function(value, metaData, record, rowIndex, colIndex, store, view) {
            var types_store = Ext.getStore('comboStore');
            var index = types_store.findExact('name', value.toString());
            if (index != -1) {
                return types_store.getAt(index).get('title');
            } else {
                return value;
            }
        };
    

    请注意,使用Extjs的推荐方法是使用他们的MVC应用程序架构。然而,在蒙面之下,这场战争正在进行。您可以尝试使用它的别名来尝试获取存储。

    发布一些代码,如何声明相关视图/控制器?似乎要显示的值应该在呈现行的记录中,而不是组合框的存储中。如果你需要显示属性,你应该考虑把它带到记录中并在渲染器中使用它。@ EvanTrimboli有很多代码,你到底想看什么?是的,我有单独的视图和控制器。@dbrin我添加了渲染器代码-这是你的意思吗?如果是-它在编辑网格时工作正常,但在网格创建时,当我从服务器加载数据时,它不能以这种方式取值-
    combo
    null
    。所以我想直接从存储中获取它。组合框存储在所有行中都是相同的吗?然后,您可能只需要执行Ext.getStore(..)。对于b)不起作用?
        var comboRenderer = function(value, metaData, record, rowIndex, colIndex, store, view) {
            var types_store = Ext.getStore('comboStore');
            var index = types_store.findExact('name', value.toString());
            if (index != -1) {
                return types_store.getAt(index).get('title');
            } else {
                return value;
            }
        };