有没有办法将树列放在ComboBox中?

时间:2014-08-05 21:10:27

标签: javascript extjs combobox extjs4.1 extjs4.2

请帮忙。我也在使用面板。我只想将我的树列数据放在ComboBox中。有人告诉我,我可能不得不用ComboBox组件替换我的树列组件,但我更喜欢在ComboBox中显示我的扩展树列。不确定这是否可行。  我有点新,但我已经在这个工作了几个小时。

我的代码是:

Ext.define('TV.view.configPanel.data.GroupingTree', {
            extend: 'Ext.tree.Panel',
            alias: 'widget.groupingTreeNew',

            title: 'Groupings',

            // Properties
            hideHeaders: true,
            rootVisible: false,
            enableDrop: false,
            scroll: false,
            folderSort: false,
            enableColumnHide: false,
            enableColumnMove: false,
            enableColumnResize: false,
            maintainFlex: true,
            multiSelect: true,
            autoScroll: true,
            forcefit: true,
            cls: 'GridRowWithHandSymbol',

            plugins: [pToolsTips],

            // Custom property
            loaded: false,

            viewConfig: {
                markDirty: false,
                copy: true,
                allowCopy: true,
                plugins: {
                    ptype: 'customtreeviewdragdrop',
                    dragGroup: 'groupingsddgroup',
                    dropGroup: 'groupingsgridddgroup',
                    isTarget: false,
                    enableDrop: false
                },
                style: { overflow: 'auto' }
            },

            // Store
            store: Stores.GroupingTreeStore,

            initComponent: function (cfg) {
                Ext.applyIf(this.config, cfg || {});
                this.columns = this.buildColumns();
                this.callParent(arguments);
            },

            tbar: [{
                xtype: 'datatabTreeviewTrigger',
                flex: TV.constants.Constant.Flex.OnePart
            }, {
                xtype: 'image',
                src: 'Resources/truview/themes/images/search-icon.png',
                padding: 0
            }],

            buildColumns: function () {
                return [
                    {
                        xtype: 'treecolumn',
                        dataIndex: TV.constants.Constant.DataTabFields.GroupingsTreeColumnName,
                        flex: TV.constants.Constant.Flex.OnePart
                    }];
            }

        });

1 个答案:

答案 0 :(得分:0)

这不是一个小问题。您需要做的是使用新类扩展Ext.form.field.Picker。 [Ext.form.field.Picker]是一个抽象类,基本上代表一个空的组合框组件。然后在新类中,实现抽象createPicker方法以添加树呈现/逻辑。一个很好的起点是查看如何创建Ext.form.field.ComboBoxhttp://docs.sencha.com/extjs/4.2.2/source/ComboBox.html#Ext-form-field-ComboBox并查看那里的createPicker方法。