是否有一种方法来放置一个树列在一个组合框

Is there a way to Place a Tree Column inside of a ComboBox?

本文关键字:一个 组合 一种 方法 是否      更新时间:2023-09-26

请帮忙。我也用了面板。我只是想把我的树列数据内的组合框。有人告诉我,我可能必须用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
                    }];
            }
        });

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