KoolTreeView supports rich client-side functions. You can manually add/remove/expand/collapse/select/unselect a node by javascript.
span style="color: #ff0000;">"/KoolTreeView/kooltreeview.php""treeview");
$treeview->scriptFolder = $KoolControlsFolder."/KoolTreeView";
$treeview->imageFolder="Images";
$treeview->styleFolder="default"//Create TreeView 1
$root = $treeview->getRootNode();
$root->text = "Personal Folders""1PersonalFolders.gif";
$treeview->Add("root","deleteditem","Deleted Items (6)""2DeletedItems.gif");
$treeview->Add("root","draft","Drafts""3Drafts.gif");
$treeview->Add("root","inbox","<b>Inbox (14)</b>""4Inbox.gif");
$treeview->Add("inbox","invoice","Invoices""folder.gif");
$treeview->Add("root","junkemail","Junk E-mail""folder.gif");
$treeview->Add("root","outbox","Outbox""outbox.gif");
$treeview->Add("root","sentitem","Sent Items""sent.gif");
$treeview->Add("root","searchfolder","Search Folder""searchFolder.gif");
$treeview->Add("searchfolder","followup","From Follow Up""searchFolder.gif");
$treeview->Add("searchfolder","largeemail","Large E-mail""searchFolder.gif");
$treeview->Add("searchfolder","unreademail","Unread E-mail""searchFolder.gif""width:400px;">
<tr>
<td style="border-right:solid 1px gray;padding-left:20px;">KoolTreeView</td>
<td style="padding-left:20px;">Control Panel</td>
</tr>
<tr>
<td valign="top" style="border-right:solid 1px gray;">
<div style="padding:10px;padding-left:30px;width:170px;""top">
<div style="padding:10px;padding-left:30px;width:200px;">
<div style="padding-bottom:10px;">
<input type="button" style="width:155px;" value="Toggle Selected Nodes" onclick="toggle_selected_nodes()"/>
</div>
<div style="padding-bottom:10px;">
<input type="button" style="width:155px;" value="Remove Selected Nodes" onclick="remove_selected_nodes()"/>
</div>
<div style="padding-bottom:10px;">
<input id="nodename" type="text" style="width:70px;"/>
<input type="button" value="Add Node" onclick="add_node()" />
</div>
<div style="padding-bottom:10px;">
<input type="button" style="width:155px;" value="Unselect All Nodes" onclick="unselect_all_nodes()" />
</div>
</div>
</td>
</tr>
</table>
<script type="text/javascript"//Get list of selected nodes
//List all the selected nodes and toggle the node
//Get list of selected nodes
//Remove all selected node
"nodename""")
{
//Get list of selected nodes
//If no node is selected, add to treeview.root
"treeview.root").addChildNode("newnode""Images/folder.gif"//If there are selected nodes, add new nodes to selected nodes
"newnode""Images/folder.gif"//Unselect all