felpone
February 20, 2015, 10:58am
#1
Is it possible to insert in the same node of the tree two items? I need once editable and other not editable.
I made my tree with javascript array like code below,and I would like to have only the letter A editable and not the entire item,so I thought to divide the item in two item, once editable and other not but I don’t know if is it possible:
treeArray.push([10,father, A + " " + "=(" + x +" " + y +" "+ z +")"]);
Darya
February 23, 2015, 10:00am
#2
Hello
You can try the next sample (ID part of node is not editable there)
tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
tree.setImagePath("../dhtmlxSuite_v413_pro/codebase/imgs/dhxtree_skyblue/");
tree.enableSmartXMLParsing(true);
tree.enableDragAndDrop(true);
tree.setDragBehavior('complex');
tree.enableKeyboardNavigation(true);
tree.enableItemEditor(true);
tree.loadXML("../___xml/tree_ID.xml", myFunc);
function myFunc(){
tree.openAllItems("a10000"); //debugger;
arr = tree.getAllSubItems(0);
www = arr.split(",");
for (var i = 0; i < www.length; i++){
idd = tree.getItemText(www[i]);
tree.setItemText(www[i], idd + " (" + www[i] + ")");
}
}
tree.attachEvent("onEdit", function(state,id,tree,value){
if (state == 0){
val = tree.getItemText(id);
value = val.replace(/\s\(\w+\)$/, "");
return value
}
if (state == 2){
ID = tree.getUserData(id,"id");
newval = value + ID;
return newval
}
xml:
<?xml version="1.0" encoding="iso-8859-1"?>
<tree id="0" radio="1">
<item text="Item's text" id="a10000">
<userdata name="id"> (a10000)</userdata>
<item text="Item's text" id="a10010">
<userdata name="id"> (a10010)</userdata>
<item text="Item's text" id="a10011">
<userdata name="id"> (a10011)</userdata>
</item>
<item text="Item's text" open="1" id="a10012">
<userdata name="id"> (a10012)</userdata>
<item text="Item's text" id="a100121">
<userdata name="id"> (a100121)</userdata>
</item>
<item text="Item's text" id="a100122">
<userdata name="id"> (a100122)</userdata>
</item>
<item text="Item's text" id="a100123">
<userdata name="id"> (a100123)</userdata>
</item>
<item text="Item's text" id="a100124">
<userdata name="id"> (a100124)</userdata>
</item>
<item text="Item's text" id="a100125">
<userdata name="id"> (a100125)</userdata>
</item>
</item>
<item text="Item's text" id="a10013">
<userdata name="id"> (a10013)</userdata>
</item>
<item text="Item's text" id="a10014">
<userdata name="id"> (a10014)</userdata>
</item>
</item>
<item text="Item's text" id="a10020">
<userdata name="id"> (a10020)</userdata>
</item>
</item>
</tree>
felpone
February 23, 2015, 9:18pm
#3
If I want to use an array javascript instead of xml?
Darya
February 24, 2015, 9:25am
#4
Anyway you want. You just need to use add to tree nodes
felpone
February 24, 2015, 11:03am
#5
Something like this treeArray.push([10,father, userdata,A + " " + “=(” + x +" " + y +" “+ z +”)"]) ?
Darya
February 24, 2015, 2:51pm
#6
Unfortunatelly not this way. You can try to use json or xml structure, because you can use there userdata