• 全部
  • 问答

ExtJs tree如何单独给某些节点设颜色属性?

eteok 2010-05-14 05:02:40
我用的是 ext-3.1 。
树型结构已经实现了,但是现在有一个新要求:
<script type="text/javascript">
var xiangmuAry = "多层建筑,高层建筑,给排水工程,路基路面工程,市容环境综合整治,市政供水工程,市政排水工程,";
</script>

就是树节点输出时,要跟上面的 xiangmuAry 里面查找,如果节点名称在xiangmuAry 中存在,就设置该节点文字颜色为红色,不存在就设置为灰色,并添加alert提示。
请问要怎么样设置呢?
树的全部代码在下面:

var xiangmuAry = "多层建筑,高层建筑,给排水工程,路基路面工程,市容环境综合整治,市政供水工程,市政排水工程,";
var reloadFlag = 0;
function setreload(flag) {
reloadFlag = flag;
}
Ext.BLANK_IMAGE_URL = 'js/ext-3.1/resources/images/default/s.gif';
Ext.onReady(function() {
var Tree = Ext.tree;
var root = new Tree.AsyncTreeNode({
text : '目录',
draggable : false,
nodeType : 'async',
id : '-1'

});
var treeLoader = new Tree.TreeLoader({
dataUrl : 'blistMain.do?method=getblistTree&parentId=-1'
});
var tree = new Tree.TreePanel({
rootVisible : false, // 是否显示根节点
id : 'tree1',
root : root,
el : 'tree-div',
loader : treeLoader,
useArrows : false,
lines : true,
autoScroll : true,
animate : false,
enableDD : true,
containerScroll : true,
border : false
});
var treeClick = function(node) {
tree.loader.dataUrl = 'blistMain.do?method=getblistTree&parentId='+ node.id;
};
tree.on('beforeload', treeClick);
var clickMe = function(node) {
if(window.nodeClick){
nodeClick(node);
}else{
if (node.isLeaf()) {
var myurl = "blistMain.do?method=searchList&firstsearch=0&fcode=" + node.attributes.code;
window.open(myurl, "rightframe");
} else {
node.toggle();
}
}
}
tree.on('click', clickMe);
tree.render();
root.expand();
});
...全文
1007 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
swweb 2010-05-15
网上有现成的列子,下载看看.
回复
eteok 2010-05-15
网上没例子,我自己到Ext JS官网 上查 API搞定啦。
加入以下代码即可:


var expandnodeMe = function(node) {
node.eachChild(setNodeText);
};
var setNodeText = function(node){
if(xiangmuAry.indexOf(node.text)>=0){
node.setText("<font color=red>"+node.text+"</font>");
}else{
if(node.isLeaf()){
node.setText("<font color=#cccccc>"+node.text+"</font>");
node.on('click',clickNode);
}
}
}
var clickNode = function(node){alert("该工程分类还没发布信息");}
tree.on('expandnode',expandnodeMe)


就是在节点展开后,遍历子节点
回复
eteok 2010-05-14
具体要怎么实现哦?
回复
passself 2010-05-14
用生成的id或者class在style中设置,或者用js动态设置就可以了
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2010-05-14 05:02
社区公告
暂无公告