【发布时间】:2016-10-31 12:36:06
【问题描述】:
我正在尝试将子节点添加到树视图中的父节点。我通过节点文本的特定键 loanresult.LoanName 查找贷款名称。两者都显示为“TestOne”,但是没有将子节点添加到父树节点。
Matches 然后由于找不到匹配项而引发错误matches[0].Nodes = 'matches[0].Nodes' threw an exception of type 'System.IndexOutOfRangeException'。
foreach (string st in activityList)
{
var activityResult = JsonConvert.DeserializeObject<Activity>(st);
if (loanResult.LoanName == activityResult.ParentLoanName)
{
TreeNode[] matches = tvTodoList.Nodes.Find(loanResult.LoanName, false);
if (matches.Length > 0) matches[0].Nodes.Add(activityResult.ActivityName);
}
}
文字
键
我一定遗漏了一些明显的东西吗?
【问题讨论】:
-
您应该将密钥分配给
Name属性。Text属性用于显示文本,Name将用作键,因此您可以通过其键找到节点。同样在查找时,如果您想在包括后代在内的所有节点中查找,请将true作为第二个参数传递:var node = treeView1.Nodes.Find("some key", true).FirstOrDefault();然后检查if(node!=null)然后做一些事情。请参阅this post 中的按名称查找示例。