dhtmlXTreeObject 部分方法
tree = new dhtmlXTreeObject("treeboxbox_tree", "100%", "100%", 0);//构建dhtmlXTreeObject对象
tree.setSkin('dhx_skyblue');//设置皮肤
tree.enableDragAndDrop(0);//是否允许拖放
tree.enableTreeLines(false);//是否显示TreeLines
初始化
.loadXML (file,afterCall) //从XML文件中加载节点(xml文件的路径,回调函数)
例:tree.loadXML("../common/tree4.xml");
.loadXMLString(xmlString,afterCall) //从XML String中加载节点(Xml String,回调函数)
例:treeObj.loadXMLString("<%=GetTree() %>");
tree = new dhtmlXTreeObject({
skin: "dhx_skyblue",
parent: "treeboxbox_tree",
image_path: "http://www.cnblogs.com/codebase/imgs/csh_bluebooks/",
checkbox: true,
xml: "../common/tree3.xml";
});
样式
.setStdImages (image1,image2,image3)//设置默认的节点图标(没有子节点时的图标,不显示子节点时的图标,显示子节点时的图标)
例:tree.setStdImages("book.gif", "books_open.gif", "books_close.gif");//必须在加载XML文件之前使用
.setImageArrays (arrayName,image1,image2,image3,image4,image5)
//设置节点折叠打开图标(数组名称—“plus”或者”minus”,line crossed image,image with top line,image with bottom line,image without line,single root image)
例:tree.setImageArrays("plus", "plus2.gif", "plus3.gif", "plus4.gif", "plus.gif", "plus5.gif");//很多情况都是成对出现
.setImagePath( newPath )//设置图片的路径
例:tree.setImagePath("../common/images/");
.setItemColor (itemId,defaultColor,selectedColor) //设置单个节点的颜色(节点的Id,默认节点颜色,选中后节点颜色)
例:tree.setItemColor(tree.getSelectedItemId(), color1, color2);
.setItemText (itemId,newLabel,newTooltip) //设置节点的文本(节点的Id,节点的文本,节点的提示信息—可选)
例:tree .setItemText(tree.getSelectedItemId(),document.getElementById('ed1').value, document.getElementById('ed1').value);
.setItemImage2(itemId, image1,image2,image3)//设置单个节点的图标(节点的Id,没有子节点时的图标,不显示子节点时的图标,显示子节点时的图标)
例:tree.setItemImage2(tree.getSelectedItemId(),'iconText.gif','iconText.gif','iconText.gif');
CheckBox
.enableCheckBoxes (mode, hidden)
//是否设置CheckBox(true/false,hidden),hidden原文是if set to true, checkboxes not rendered but can be shown by showItemCheckbox
例:tree.enableCheckBoxes(1);
.enableThreeStateCheckboxes (mode)//是否设置三种状态
例:tree2.enableThreeStateCheckboxes(true);//使用他之前要设置显示enableCheckBoxes
.setCheck (itemId,state)//设置指定节点的CheckBox状态
例:tree.setCheck(tree.getSelectedItemId(),true);
.setSubChecked(itemId,state)//设置指定节点和其子节点的CheckBox状态
例:tree.setSubChecked(tree.getSelectedItemId(),true);
.getAllChecked()//返回所有CheckBox选中的节点的ID
例:tree.getAllChecked();
事件----使用callEvent方法给事件指定的参数
.setOnOpenHandler (func)//设置节点打开或关闭事件
事件参数:源ID,节点状态(打开或者关闭)
例:tree.setOnOpenHandler(tonopen);
function tonopen(id, mode) {
return confirm("Do you want to " + (mode > 0 ? "close": "open") + " node " + tree.getItemText(id) + "?");
};//注意参数
.setOnClickHandler(func)
事件参数:源ID,先前选择的节点(ID of previously selected item)
例:tree.setOnClickHandler(tonclick);
function tonclick(id) {
alert("Item " + tree.getItemText(id) + " was selected");
};
.setOnCheckHandler(func)
事件参数:源ID,选中状态
例:tree.setOnCheckHandler(toncheck);
function toncheck(id, state) {
alert ("Item " + tree.getItemText(id) + " was " + ((state) ? "checked": "unchecked"));
};
.setOnDblClickHandler(func)
事件参数:源ID
例:tree.setOnDblClickHandler(tondblclick);
function tondblclick(id) {
alert ("Item " + tree.getItemText(id) + " was doubleclicked");
};
.setDragHandler(func)
事件参数:源ID,目标ID,if node droped as sibling then contain id of item before whitch source node will be inserted,源树,目标树
例:tree.setDragHandler(tondrag);
function tondrag(id, id2) {
return confirm("Do you want to move node " + tree.getItemText(id) + " to item " + tree.getItemText(id2) + "?");
};
.setOnOpenEndHandler(func)
事件参数:源ID,状态(打开或关闭)
tree.attachEvent("onOpenEnd", function(nodeId, event) {
alert("An id of open item is " + nodeId);
});
其他
.getUserData (itemId,name)//获得指定节点的指定参数信息(节点ID,参数的Key名)
例:treeObj.getUserData(id, 'type');
.setXMLAutoLoading (filePath)// enables dynamic loading from XML
例:tree.setXMLAutoLoading("../common/tree4.xml");
.getItemText(itemId)//获得指定节点的文本
例:tree.getItemText(id)
.getLevel(itemId)//获得节点的Level
例:tree.getLevel(id)
展开/折叠
.openAllItems (itemId)//展开该节点及所有子节点(节点ID)
例:tree.openAllItems(0);
.closeAllItems(itemId)//关闭该节点及所有子节点(节点ID)
例:tree.closeAllItems(0);
.closeItem(itemId)//关闭指定节点(节点ID)
例:tree.closeItem(tree.getSelectedItemId());
.openItem(itemId)//展开指定节点(节点ID)
例:tree.openItem(tree.getSelectedItemId());
添加/删除
.insertNewItem(parentId,itemId,itemText,itemActionHandler,image1,image2,image3,optionStr,children)
//给指定节点插入子节点(源ID、新节点ID、新节点文本、选择节点事件—可选、没有新节点的图标—可选、关闭新节点的图标—可选、打开新节点的图标—可选、options string—可选、node children flag (for dynamical trees)—可选)
例:tree.insertNewItem(tree.getSelectedItemId(),d.valueOf(),document.getElementById('ed1').value,0,0,0,0,'SELECT');//d=new Date()
.insertNewNext(itemId,newItemId,itemText,itemActionHandler,image1,image2,image3,optionStr,children)
//给指定节点添加兄弟节点(源ID,新节点ID,新节点文本、选择节点事件—可选、没有新节点的图标—可选、关闭新节点的图标—可选、打开新节点的图标—可选、options string—可选、node children flag (for dynamical trees)—可选)
例:tree.insertNewNext(tree.getSelectedItemId(),d.valueOf(),document.getElementById('ed2').value,0,0,0,0,'SELECT');
.deleteItem(itemId,selectParent)//删除指定节点(源ID、如果为真,删除后父节点被选择,否则没有被选中)selectParent - If true parent of deleted item get selection, else no selected items leaving in tree.
例:tree.deleteItem(tree.getSelectedItemId(),true);