有没有办法在组合框内放置一个树列?

Posted

技术标签:

【中文标题】有没有办法在组合框内放置一个树列?【英文标题】:Is there a way to Place a Tree Column inside of a ComboBox? 【发布时间】:2014-08-05 21:10:26 【问题描述】:

请帮忙。我也在使用面板。我只想将我的树列数据放在 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
                    ];
            

        );

【问题讨论】:

这里有一个例子:docs.sencha.com/extjs/4.2.2/extjs-build/examples/simple-tasks/…在列表标题下。 【参考方案1】:

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

【讨论】:

以上是关于有没有办法在组合框内放置一个树列?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 XAML 中的 Rectangle BoxView 内放置文本

有没有办法更改 Microsoft Access 中下拉列表的组合框按钮的颜色

如何在 WPF 中隐藏组合框的项目

有没有办法在IE8中居中选择/组合框选项元素?

组合框可以在其文本框部分显示多于一列吗?

在组合框中显示多个字段