gpt4 book ai didi

c# - 在objectlistview treelistview中查找parent

转载 作者:太空宇宙 更新时间:2023-11-03 20:00:23 25 4
gpt4 key购买 nike

在使用 objectListView treeListView 时,如果我展开了 treeListView 并单击了其中一列中的一个子项,我该如何:

  1. 找到那个 child 的 parent 了吗?
  2. 查找已展开列的父行的值/文本?

这个例子可能有助于解释我的意思。

public partial class Form1 : Form
{

List<Contract> list;
public Form1()
{
InitializeComponent();

list = new List<Contract>();
list.Add(new Contract("A", 1));
list.Add(new Contract("B", 2));
foreach (Contract c in list)
{
this.treeListView1.CanExpandGetter = delegate(object x)
{
if (x is Contract)
{
return (((Contract)x).Children.Count > 0);
}
else
{
return false;
}
};
this.treeListView1.ChildrenGetter = delegate(object x)
{
Contract contrat = x as Contract;
return contrat.Children;
};

column1.AspectGetter = delegate(object x)
{
if (x is Contract)
{
return ((Contract)x).Name;
}
else
{
return " ";
}
};

column2.AspectGetter = delegate(object x)
{
if (x is Contract)
{
return ((Contract)x).Value;
}
else
{
Double d = (Double)x;
return d.ToString();
}
};

this.treeListView1.AddObject(c);
}
}

private void treeListView1_CellClick(object sender, BrightIdeasSoftware.CellClickEventArgs e)
{
//NOT SURE WHAT TO DO HERE

}

public void WriteLine(String s)
{
if (this.richTextBox1.TextLength > 0)
{
this.richTextBox1.AppendText(Environment.NewLine);
}
this.richTextBox1.AppendText(s);
}
}

public class Contract
{
public string Name { get; set;}
public Double Value { get; set; }
public List<Double> Children {get; set;}

public Contract(string name, Double value)
{
Name = name;
Value = value;
Children = new List<Double>();
Children.Add(2);
Children.Add(3);
}
}

在 CellClick 事件中,我想获得父级以及 column1 中父级的任何值。

最佳答案

这是在 VB.net 中,但我只是找到了一个非常简单的解决方案。只需调用 treelistview.getparent 事件。我的示例在格式行事件中显示了它,但您也可以在所选项目事件中使用它。希望这有帮助

Private Sub TreeListView1_FormatRow(sender As Object, e As FormatRowEventArgs) Handles TreeListView1.FormatRow

Dim parent As myObjectExample = TreeListView1.GetParent(e.Model)

End Sub

关于c# - 在objectlistview treelistview中查找parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29193114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com