Удалить ссылку из родительского узла древовидной структуры - PullRequest
1 голос
/ 27 июля 2010

Есть ли способ сохранить текст родительского узла, но удалить ссылку? Родительский узел древовидной структуры используется просто как заголовок, без навигации. Любая помощь будет отличной. Спасибо.

private void BindNodes(string PtID)  
{  
    if (PtID != "")  
    {  
        int PatientID = Convert.ToInt32(PtID);  
        DBConnection dbObj = new DBConnection();  
        if (Session["Activepatient"] != null)  
        {  
            string[] SubChild = new string[4];  
            SubChild[0] = "Demographics";  
            SubChild[1] = "Medication Reviews";  
            SubChild[2] = "Drug Testing & Monitoring";  
            SubChild[3] = "Other Program";
            TreeNode oTrParent = new TreeNode();  
            //trv_patient.ParentNodeStyle = "None";
            //oTrParent.SelectAction.Style.Add("display", "none");
            TreeNode oTrSubChild1;
            TreeNode oTrSubChild;
            for (int i = 0; i < 4; i++)
            {
                oTrSubChild1 = new TreeNode();
                oTrSubChild1.Text = SubChild[i];
                if (i == 1)
                {
                    PatientInfoCollection patientCollection = new PatientInfoCollection();
                    patientCollection = dbObj.GetMedicationReviews(PatientID);
                    foreach (PatientInfo au in patientCollection)
                    {
                        oTrSubChild = new TreeNode();
                        PatientInfo Patient = new PatientInfo();
                        oTrSubChild.Text = au.DateRcvd.Value.ToString("MM-dd-yyyy")
                        oTrSubChild.Target = au.ReviewId.ToString();
                        oTrSubChild1.ChildNodes.Add(oTrSubChild);
                    }
                    oTrSubChild = new TreeNode();
                    oTrSubChild.Text = "Add Medication Review";
                    oTrSubChild.Target = "New";
                    oTrSubChild1.ChildNodes.Add(oTrSubChild);
                }
                trv_patient.Nodes.Add(oTrSubChild1);
            }
        }
    }
}

Ответы [ 4 ]

4 голосов
/ 25 ноября 2011

Если temp - это такой узел, текст которого вы хотите, чтобы он был простым текстом, а не ссылкой, используйте код ниже.

TreeNode temp = new TreeNode("text");
temp.SelectAction = TreeNodeSelectAction.None;
treeView1.Nodes.Add(temp);
2 голосов
/ 07 сентября 2012

Это то, что вы ищете.Вы должны установить SelectAction родительского узла TreeNode на TreeNodeSelectAction.None.Я даже показываю, как это сделать с ребенком.

ASP.NET

<asp:TreeView 
  ID="MyTreeView" 
  ShowCheckBoxes="Parent,Leaf,All" 
  runat="server" 
  ShowLines="true" 
  ShowExpandCollapse="true">
</asp:TreeView>

C #

//Make A Parent Node
var Parent = new TreeNode();
Parent.Text = "Parent 1";

// Make the parent nodes not be hyperlinks but plain text
Parent.SelectAction = TreeNodeSelectAction.None;

//You can do the same with a child node like so
var Child = new TreeNode();
Child.Text = "Child 1";

// Make the child nodes not be hyperlinks but plain text
Child.SelectAction = TreeNodeSelectAction.None;

//Add the child node to the parent node
Parent.ChildNodes.Add(Child);

//Finally add the parent node with children to the treeview
MyTreeView.Nodes.Add(Parent);
0 голосов
/ 09 марта 2016

TreeNode root = новый TreeNode ("Root");root.SelectAction = TreeNodeSelectAction.None;

0 голосов
/ 27 июля 2010

Я не уверен, понимаю ли я, что вы хотите. Предполагая, что это WinForms и вы просто хотите отключить возможность выбора корневого узла в TreeView, вы можете просто обработать событие BeforeSelect TreeView и затем получить следующий код:

if (e.Node.Parent == null)
    e.Cancel = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...