Add new node to TreeView

1 Answer 844 Views
Editor TreeView
akhila
Top achievements
Rank 1
akhila asked on 31 Mar 2022, 04:16 AM

I have preloaded tree View and add node button. I have one text box to enter node name and tree drop down to select the parent node.

After entering node name and parent node, I will click on add node button. On click event it should add newly entered node under specific parent node.

Please let me know how to achieve this.

 

1 Answer, 1 is accepted

Sort by
0
Hetali
Telerik team
answered on 04 Apr 2022, 10:03 PM

Hello Akhila,

In order to add a new node based on the parent node selected from the drop down list, use the following custom approach:

1. Get parent nodes from the TreeView data:

ngOnInit() {
  this.getParentNodes(this.data);
}

public getParentNodes(data) {
  data.map((node) => {
    if(node.items && node.items.length > 0) {
      this.parentNodes.push(node.text);
      this.getParentNodes(node.items);
    }
  });
}


2. On 'Add New Node' button click, send the textbox, dropdownlist and treeview data to search the parent node and add the new node by modifying the treeview data:

<kendo-textbox #textbox>
</kendo-textbox>

<kendo-dropdownlist #dropdownlist>
</kendo-dropdownlist>

<button kendoButton (click)="addNode(textbox, dropdownlist, treeview)">
  Add New Node
</button>

<kendo-treeview #treeview>
</kendo-treeview>

public addNode(textbox, dropdownlist, treeview) {
  let findNodeName = (node, parentNodeText) => {
    node.some((e) => {
      if(e.text == parentNodeText) {
        e.items.push({text: textbox.value});
      }
      else if(e.items) { 
        findNodeName(e.items, parentNodeText);
      }
    });
  }
  findNodeName(treeview.data._value, dropdownlist.text);
}


In this StackBlitz example, based on the parent node, a new child node is added in the Kendo UI TreeView.

I hope this helps.

Regards,
Hetali
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

Tags
Editor TreeView
Asked by
akhila
Top achievements
Rank 1
Answers by
Hetali
Telerik team
Share this question
or