有没有办法在组合框内放置一个树列?
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 内放置文本