2013-03-18 71 views
0

我创建了一些没有标签的符号,从调色板中删除我的符号后,我的符号将自动标记为文本。我的问题是,我创建的每个符号的第一个Node-Drop没有标记,在第二个,第三个,第四个等节点之后,该节点将自动分配Label。如何更改我的节点文本

第二个要求我会知道,在放下我的节点后,如何编辑我的nodeText。通过单击或双击该节点。

这里是我的代码:

protected void DiagramWebControl1_NodeDropFromPalette(object sender, Syncfusion.Web.UI.WebControls.Diagram.NodeDropFromPaletteEventArgs e) 
    { 
     if (e.Node is PathNode || e.Node is Group) 
     { 
      PathNode node = e.Node as PathNode; 
      if (node != null) 
      { 
      if (node.FullName == "Prozess Start") 
      { 
       node.Name = "Prozess Start"; 
       node.Labels.Add(new Syncfusion.Windows.Forms.Diagram.Label(node, node.Name)); 
      } 
      else if (node.FullName == "Prozess") 
      { 
       node.Name = "Prozess"; 
       node.Labels.Add(new Syncfusion.Windows.Forms.Diagram.Label(node, node.Name)); 
      } 
     } 
     else 
     { 
      Group gnode = e.Node as Group; 
      if (gnode.FullName == "Organisationseinheit") 
      { 
       gnode.Name = "Organisationseinheit"; 
       gnode.Labels.Add(new Syncfusion.Windows.Forms.Diagram.Label(gnode, gnode.Name)); 
      } 
      else if (gnode.FullName == "Rolle") 
      { 
       gnode.Name = "Rolle"; 
       gnode.Labels.Add(new Syncfusion.Windows.Forms.Diagram.Label(gnode, gnode.Name)); 
      } 
      else if (gnode.FullName == "Externe Rolle") 
      { 
       gnode.Name = "Externe Rolle"; 
       gnode.Labels.Add(new Syncfusion.Windows.Forms.Diagram.Label(gnode, gnode.Name)); 
      } 
      else if (gnode.FullName == "IT-System") 
      { 
       TextNode rtxNode = new TextNode(""); 
       rtxNode.Text = "IT-System"; 
       gnode.Labels.Add(new Syncfusion.Windows.Forms.Diagram.Label(gnode, rtxNode.Text)); 
      } 
     } 
    } 

回答

0
  1. 由于节点的全名是由DiagramWebControl附加的“模型”的节点名称唯一生成,检查是否有下降节点的全名,并在指定的名称你的代码是一样的。如果您想根据名称将“标签”添加到节点,请使用节点的“名称”属性,而不是使用FullName。
  2. 请参考Syncfusion的公共论坛关于您双击节点编辑nodeText的要求。 这是link
+0

嗨Amsath,thanx为您的答案。在关于渲染的syncfusion论坛中仍然存在一个开放的线索,你可以检查它吗? – 2013-03-22 08:10:19