如何存储3 ListView';s在一个班里
本文关键字:一个 何存储 存储 ListView | 更新日期: 2023-09-27 18:14:46
我有3个ListView,它们是这样填充的(好吧,这可以是任何东西,ListView只是一个例子(:
这是第一个列表:
LIST1 LIST2 LIST3
A1
B1
C1
如果我点击"A1",list2将获得一些项目:
LIST1 LIST2 LIST3
A1 A2
B1 B2
C1 C2
D2
E2
当我点击列表2中的一个项目时,同样的情况也会发生,然后列表3会得到一些项目。我这次点击A2:
LIST1 LIST2 LIST3
A1 A2 A3
B1 B2 B3
C1 C2
D2
E2
因此,我的想法是,如何创建一个包含所有列表视图数据的对象(类(?
如果只有2,我会这样想:
public class StoreData
{
public string ListOne {get;set;}
public List<string> ListTwo = new List<string>();
public AddToLostTwo(string text)
{
ListTwo.Add(text)
}
}
我可以在运行时做:
foreach(string str in ListOne)
{
List<StoreData> datas = new List<StoreData>();
StoreData data = new StoreData();
data.ListOne = str;
foreach(string str2 in ListTwo)
{
data.AddToListTwo(str2);
}
}
所以我的问题是,对于2个以上的列表,在c#中最好的方法是什么?注意,我想稍后在纸上打印出这样的东西:
DUMP LISTS
----------
NAME VALUE VALUE
A1 A2 A3
B3
A1 B2 D3
E3
如果我不够清楚,请告诉我!
您实际上并不需要自己的类。使用类似Dictionary
的怎么样
Dictionary<string, IList<string>> lists = new Dictionary<string, IList<string>>();
然后你可以添加像这样的新列表
lists.Add("List1");
并将项目添加到该列表中,如
lists["List1"].Add("Item1");
public class StoreData
{
public string ItemName {get;set;}
public List<StoreData> ChildList = new List<StoreData>();
public AddToChilds(StoreData data)
{
ChildList.Add(data)
}
}
在我看来,使用这种类结构可以让你拥有你想要的任意级别。