0

我想知道如何将itemmouseup图表系列的侦听器添加到控制器中?

我的控制器的init方法如下:

init: function() {
    this.control({
        'candidateDistribution > treepanel' : {
            itemclick: this.treeStoreItemClickHandler
        },
        '#candidateDistributionButton' : {
            click: this.candidateDistributionButton_ClickHandler
        },
        'competitorAnalysis #slaWiseEmprDistriGrid series': {
            itemmouseup: this.sLA_ItemMouseUpEventHandler
        }
    });
},

在这种情况下,itemmouseup事件处理程序organizationAnalysis #sLAWiseEmprDistriGrid series不工作,但其余事情的事件处理程序工作正常。

我试图将组件查询更改为competitorAnalysis > #slaWiseEmprDistriGrid series或更改为,competitorAnalysis > #slaWiseEmprDistriGrid[series]但它不起作用。

我不得不将此itemmouseup事件处理程序添加到图表系列的代码中,这工作得很好,但我认为它打破了 MVC 模式。

我的图表代码如下:

xtype: 'chart',
itemId: 'slaWiseEmprDistriGrid',
store: 'SLAWiseCompetitorDistribution',
flex: 2,
animate: true,
legend: {
    position: 'right'
},
insetPadding: 25,
series: [{
    type: 'pie',
    field: 'empCount',
    showInLegend: true,
    listeners: {
        'itemmouseup': function(item) {
            var record = item.storeItem;
            var slaWiseEmpListStore = Ext.data.StoreManager.lookup('SLAEmployerList');
            slaWiseEmpListStore.proxy.extraParams['paramFirstDimensionValue']= record.get('name');
            serviceLineWiseEmpListStore.load();
        }
    }
}] // end of series configuration

所以我想知道为什么这个itemmouseup事件处理程序不能在控制器中工作?

另外,将来我想将此应用程序转换为类似 Web 桌面的应用程序,但我无法在 extjs 文档站点上找到信息/文档/教程。我在哪里可以获得有关开发 Web 桌面应用程序的教程/文档?

提前致谢 !

4

1 回答 1

1

您可以分两步在控制器中设置此事件。

  1. 将侦听器添加到图表呈现事件
  2. 在此侦听器中设置您的系列事件。

关于桌面应用程序 - 我只能建议查看这个示例:http ://dev.sencha.com/deploy/ext-4.0.7-gpl/examples/desktop/desktop.html

于 2012-03-06T10:18:44.453 回答