解决数据网格填充问题的最佳方法
本文关键字:最佳 方法 问题 填充 数据 数据网 网格 解决 | 更新日期: 2023-09-27 18:27:30
如果有人能帮我,我将不胜感激,已经4天了,但以我在c#方面的知识,我无法解决这个问题。
我需要一些向导。
所以我反序列化了一个XML文档,我有一个这样的结构:
public class ServiceConfig
{
public List<DatabaseDescriptor> Databases { get; set; }
}
public class DatabaseDescriptor
{
[XmlElement("Name")]
public string Name { get; set; }
public List<Table> Tables { get; set; }
}
public class Table
{
[XmlElement("ID")]
public string ID { get; set; }
[XmlElement("TableName")]
public string TableName { get; set; }
}
public xml.ServiceConfig xmlData { get; set; }
我很挣扎,我尝试了Datagridview、Datatables等等,显然很简单。
我有一个从DatabaseDescriptor
对象填充的数据网格,当我点击数据库T的单元格时,应该会从Table
对象中获取它的表。
我需要能够添加表,因为我需要将数据存储在内存中,最后我需要再次序列化为xml。
如何为每个数据库获取相应的数据表?如果你不能帮助我,请避免讽刺或讽刺的评论。
你到底在纠结什么?WPF中数据结构的可视化表示?如果你试图以某种有意义的方式显示子元素,你可以像这样使用TreeView
:
<TreeView ItemsSource="{Binding Databases}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type myTypes:DatabaseDescriptor}" ItemsSource="{Binding Path=Tables}">
<TextBlock Text="{Binding Name}" />
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type myTypes:Table}">
<TextBlock Text="{Binding TableName}" />
</DataTemplate>
</TreeView.Resources>
</TreeView>
或者使用指定DataTemplate
的DataGrid
?或者甚至两个单独的DataGrid
控件,使得第二个控件在另一个控件的行选择时显示子元素。