ultratree的使用(三):在树上面添加新节点 <script src="http://blog.csdn.net/count.aspx?ID=1713305&Type=Rank" type="text/javascript"></script>
在树上添加新的节点的操作其实很简单,但是不能保存,如果要保存起来,那么你就要有数据库来保存,这样的话,你的树在启动的时候就需要动态加载。这个将在ultratree的使用(四):动态加载树结构中有介绍。好了,闲话少说。
添加树节点首先你要选择一个添加的位置,如果你的树没子节点那就无所谓了。首先定义一个全局变量来保存你选择节点的位置。
private
UltraTreeNode PNode;
接下来根据鼠标点击的位置获得节点。在这里需要说一下,根据你的需要来设置在哪个节点下面添加新节点
private
void
ultraTree2_MouseClick(
object
sender, MouseEventArgs e)
{
UltraTree tree = sender as UltraTree;
UltraTreeNode node = tree.GetNodeFromPoint(e.X, e.Y);
if (node == null || node.Level == 0 ) PNode = null ;
else if (node.Level == 2 ) PNode = node.Parent;
else if (node.Level == 1 ) PNode = node;
}
{
UltraTree tree = sender as UltraTree;
UltraTreeNode node = tree.GetNodeFromPoint(e.X, e.Y);
if (node == null || node.Level == 0 ) PNode = null ;
else if (node.Level == 2 ) PNode = node.Parent;
else if (node.Level == 1 ) PNode = node;
}
获取了节点,就需要个添加的操作了,我是使用右键菜单来操作的,也可以使用BUTTON等。
private
void
添加ToolStripMenuItem_Click(
object
sender, EventArgs e)
{
if (PNode == null ) MessageBox.Show( " 请选择需要输入的节点位置! " );
else
{
node3 = PNode.Nodes.Add( "" , " 输入新节点 " );
node3.Override.LabelEdit = Infragistics.Win.DefaultableBoolean.True;
}
}
{
if (PNode == null ) MessageBox.Show( " 请选择需要输入的节点位置! " );
else
{
node3 = PNode.Nodes.Add( "" , " 输入新节点 " );
node3.Override.LabelEdit = Infragistics.Win.DefaultableBoolean.True;
}
}
当添加好新节点以后,该节点并不可以编辑,除非你在属性里已经设置好全部节点都可以编辑,那么就需要对该节点进行编辑。因此上面的代码中的LabelEdit就起作用了。
如果要删除,修改节点只要对上面的代码修改一下就可以了。
另外说点编辑节点的小窍门:选中节点后,再点击节点才可以,不要双击节点。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1713305