我已经坚持这个问题好几周了,所以它开始让我烦恼..
我的数据库中有一个包含以下列的表:
它们都属于1个订单
现在我必须收集这些ID,然后使用它们从我的数据库中获取正确的值
所以,让我们说
这是棘手的部分。
在此表中,ORDER ID
可以是3行,5或6等相同:
现在我怎样才能以正确的顺序将它们放在TreeView
中?
我尝试了许多内容,例如DataTable
,Dictionary
,List
,甚至还有tuple
等等。
但是因为我真的很困惑我应该使用什么。或者我应该将TreeView更改为替代方案吗?
我真的看不到森林里的树木了......堆栈是我最后的希望lol
答案 0 :(得分:0)
当项目包含您要显示的子集合时,将使用树视图。据我了解您当前的表/类结构,子(SubProducts)作为属性存储在主ProductID记录中,而不是作为记录的集合。
如果您希望树视图正常工作,则需要将数据从sql表转换为此结构。
public class Product
{
public int OrderID {get;set;}
public int ProductID {get;set;}
public string ProductName {get;set;}
public List<SubProduct> Children {get;set;} // the magic sauce in this solution
}
public class SubProduct
{
public int SubProductID {get;set;}
public string SubProductName {get;set;}
}
或者你可以为ListBox / ListView编写一个DataTemplate,它将知道如何显示SubProducts。该解决方案的缺点是您将无法单独选择SubProducts,只能选择整个产品。