ExtJS 5.0.1根据组合框选择显示网格

时间:2016-09-06 17:46:36

标签: javascript extjs

根据组合框选择显示/隐藏表单容器元素,寻求一些帮助。

我只希望网格(id:NspList)显示当且是否在组合框中选择了“NSP Provider”(id:carrierConnectivity)。有没有人有任何想法如何实现这一目标?以下代码段:

                  {
                    xtype: 'container',
                    layout: 'vbox',
                    style: { paddingRight: '10px', paddingBottom: '10px' },
                    items: [{
                            xtype: 'combobox',
                            labelAlign: 'top',
                            fieldLabel: 'Connectivity Type',
                            id: 'carrierConnectivity',
                            name: 'connectivity_type',
                            store:['GRE', 'GRE - with internet peering', 'MPLS', 'Direct Leased Line', 'NSP Partner'],
                            width: 250,

                        },
                        {
                            id: 'NspList',
                            flex: 1,
                            xtype: 'grid',
                            minHeight: 200,
                            maxHeight: 300,
                            width: 250,
                            selType: 'rowmodel',
                            title: 'NSP Providers',
                            forceFit: true,
                            bind: { store: '{nspnames}' },
                            plugins: [
                                Ext.create('Ext.grid.plugin.CellEditing', {
                                    clicksToEdit: 2
                                })
                            ],
                            columns: {
                                defaults: {
                                    editor: 'textfield'
                                },
                                items: [
                                    { text: 'Name', dataIndex: 'name'}
                                ]
                            },
                            tools: [
                                {type: 'plus', handler: 'addNsp'},
                                {type: 'minus', handler: 'removeNsp'}
                            ]
                        }

                    ]
                }

1 个答案:

答案 0 :(得分:2)

组合框有一个你想要使用的改变监听器:

listeners:{
    change:function(cb,newValue) {
        cb.nextSibling().setVisible(newValue=="NSP Partner");
    }
}

由于您尚未在复选框中选择NSP合作伙伴作为默认值,因此您应将网格默认配置为隐藏:

hidden:true