combo box-dojo中Tree与ComboBox的交互

问题描述

dojo中Tree与ComboBox的交互

1、点击Tree的某个item,ComboBox显示点击的item.name
2、选中ComboBox的某个值,Tree自动扩展到相应节点

第一个比较简单,我自己已经实现;第二个只实现到:当ComboBox的值改变时,
Tree扩展到固定的节点,即不知道用何种方法匹配当前字符串在后台数据文件
的‘位置’--->tree.set('paths',[ ['world', 'AF', 'KE']] );

说明:Tree和ComboBox已经关联到同一个json文件,ComboBox是自动补全的,使用的是官网的例子和json文件。

望大神指点!!!

解决方案

自己找了个方法,下面是思路:
1、使用ComboBox中的----------onChange: function(selected){...}
2、通过参数selected(可以理解为树中某个对象的属性值),在数据源中查找到相对应的对象-----myStore.query({name:selected});
代码解释:myStore(数据源,已与tree,ComboBox绑定),name(selected所指对象的属性名称)。
3、迭代查找父级元素对象,将对象放入数组中(父级对象在左边)
4、利用tree.set('path',array);扩展开tree,当然可以先收缩之前已展开的tree.collapseAll();
注意:path不是paths,即唯一路径。

问题:这个对数据格式要求比较高,具体可以查看官网代码
http://dojotoolkit.org/reference-guide/1.8/dijit/Tree-examples.html

解决方案二:

DOJO Tree

解决方案三:

DOJO Tree

解决方案四:

DOJO Tree

时间: 2024-12-26 00:42:11

combo box-dojo中Tree与ComboBox的交互的相关文章

VC 中Combo Box的使用

Combo Box(组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文 本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时 也可以直接在文本框里面输入文本. 1.改变下拉框大小 1)直接在控件上操作,先点向下的箭头,就可以调整下拉框大小: 2)为了让列表框变的更宽,可以用setdroppedwidth(int width)函数来调整列表框的宽 度. 2. 定义控件对应变量 假定已经创建了一个Dialog,并且从控件工具箱将Combo Box 控件拖

mfc-MFC中Combo box控件问题

问题描述 MFC中Combo box控件问题 在我加入消息函数onsize后,测试工具,尽情的蹂躏对话框后combo 下拉菜单就不出来了,怎么回事啊? 解决方案 具体要看你的程序是不是失去响应了,下拉菜单点击事件等是否触发 解决方案二: ComboBox 的使用也不复杂啊,先通过 Wizard 增加一个变化,如下: CComboBox m_cbType; 再增加内容,如下: m_cbType.AddString(TEXT("每周")); m_cbType.AddString(TEXT(

怎样Selenium IDE选择combo box中值

最近一直在学习Selenium,打算先从 Selenium IDE入手.IDE 很简单,最重要的就是如何定位目标元素,本人推荐使用CSS来定位你的目标元素.css如何定位在这就不在赘述,google上一堆,对于在学习遇到的问题,强烈建议使用google,百度对于技术方面的搜索太渣渣. 下面我说说我今天遇到的一个问题,今天在写脚本的时候,定位不到combo box中的值.通过google最终找到解决的方法 一次使用 click, mouserover, click, command命令来选中com

combo box-QT 怎么获得tabelwidget中嵌入的combobox被点击时的行号?

问题描述 QT 怎么获得tabelwidget中嵌入的combobox被点击时的行号? 如题while(i{ QComboBox *combobox=new QCombobox(); combobox->addItem(""1""); combobox->addItem(""2""); ui->tabelwidget->setItem(ij++new QTabelWidgetItem(QString I

请问在Combo的下拉列表中可以显示一个DataTable列表吗?

问题描述 请问在Combo的下拉列表中可以显示一个DataTable列表吗? 解决方案 解决方案二:可以,但是需要自己来绘制ComboBox的下拉列表.解决方案三:可以,但是只可以绑定一列.解决方案四:可以通过继承该控件来做.如点击ComboBox则显示一个DataGrid解决方案五:是可以的.我以前写过一个,代码发给你:usingSystem;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.

Extjs4中tree的拖拽功能简单实例

这篇文章主要介绍了Extjs4中tree的拖拽功能简单实例,有需要的朋友可以参考一下 代码如下: //只要要在treepanel中配置一下viewConfig即可,如果是两棵树之间,两棵树都要配置     viewConfig:{    plugins :{     ptype:'treeviewdragdrop',     appendOnly:true   //只能拖着带非叶节点上    },    listeners:{//监听器     drop:function(node,data,o

递归-ext中tree数据量大加载缓慢

问题描述 ext中tree数据量大加载缓慢 ext2中tree数据量大加载缓慢,页面显示速度缓慢,有时无法显示,显示数据是正常的,这个是后台程序:List orgs = this.groupManager.getQuery( " from UserGroup ug where leve = 1 ").list(); initChildren(orgs); initChildren方法中: private Collection initChildren(Collection orgs)

require、module、exports dojo中的三个特殊模块标识

查看dojo源码过程中,发现这三个模块名并不以dojo.dijit.dojox开头,在dojo加载器中属于特殊模块名. require 这是一个上下文智能的加载器. 我们通过dojoConfig配置了一个package:myApp,现在对myApp目录下的文件可以使用如下方式请求: // this is "myApp/topLevelHandlers" define(["dojo"], function(dojo){ dojo.connect(dojo.byId(&

Dojo入门:dojo中的事件处理

JS为DOM添加事件 在原生的环境下,为DOM添加事件处理函数有多种方法: <input type="button" name="btn" value="点击-" id="btn" onclick="btnClick" /> 或者使用以下方法: <input type="button" name="btn" value="点击-"