使用Extjs在组合框中单击功能

时间:2017-10-13 07:29:30

标签: extjs extjs4

我使用放置在工具栏中的extjs创建了一个组合框。我想在组合框中选择任何列表时获取网格表。 考虑这个例子。

  

我的组合框中有3个值

1,car
2,bike
3,train

在这个组合框中,如果我选择汽车,那么我需要获得下面的网格表。 我尝试了一些代码,但浪费。任何人请与我分享一些小例子并告诉我如何实现它。

2 个答案:

答案 0 :(得分:1)

您可以使用down及以上来获取其他组件。 以下是我的例子: https://fiddle.sencha.com/#view/editor&fiddle/28af

答案 1 :(得分:1)

你可以这样做:

  1. 让父(代表面板)容器包含工具栏(带有组合框)和三个网格。

  2. 为此容器指定card布局。

  3. 处理组合框的select事件,将容器的activeItem属性设置为等于所选项目。

      Ext.create('Ext.panel.Panel', {
        layout: 'card',
        tbar: [{
            xtype: 'combo',
            fieldLabel: 'Select: ',
            value: 'Car',
            displayField: 'name',
            queryMode: 'local',
            store: {
                type: 'combo'
            },
            listeners: {
                select: function (combo, record) {
                    var val = record.get('value');
                    combo.up('panel').getLayout().setActiveItem(val)
                }
            }
        }],
        items: [{
            xtype: 'cargrid',
            activeItem: true
        }, {
            xtype: 'bikegrid',
        }, {
            xtype: 'traingrid',
        }],
        renderTo: Ext.getBody()
    });
    

    这是一个简单的工作fiddle。请注意,可以使用一个网格类定义简化此示例。

  4. 更新:如果它的版本是5.x或更高版本,那么您可以使用绑定来完成。请参阅this示例。