2013-03-18 103 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