【发布时间】:2018-11-15 09:30:08
【问题描述】:
我想在 wpf 中的 dataGrid 列中填充嵌套数据,并且我已经将主类模型与 datagrid itemsource 附加在一起,所以我不知道如何使用和填充其中的详细信息。
型号:
public class SESSION
{
public string open { get; set; }
public string high { get; set; }
public string low { get; set; }
public string last { get; set; }
}
public class QUOTE
{
public string symbol { get; set; }
public string name { get; set; }
public List<SESSION> SESSION { get; set; }
}
public class RootObject
{
public List<QUOTE> QUOTE { get; set; }
}
我的数据网格在 xaml 文件中是:
<DataGrid Name="grdData">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding name}" />
<DataGridTextColumn Header="Symbol" Binding="{Binding symbol}"/>
<DataGridTextColumn Header="High" Binding="{Binding high}" />
<DataGridTextColumn Header="Low" Binding="{Binding low}" />
</DataGrid.Columns>
</DataGrid>
我也在使用 grdData.ItemsSource = rootObject.QUOTE.ToList();在gridview中填充数据。 那么如何从 DataGrid 中的 session 中获取 open、high、low 和 last 值?
请帮忙解决这个问题。
【问题讨论】:
-
SESSION 是一个列表 - 您希望如何布置网格?您可以使用
<DataGridTemplateColumn>并使用 DataTemplate 来显示 SESSION 项。或者,如果 SESSION 仅包含一个项目,则绑定到集合中的第一条记录,例如<DataGridTextColumn Header="High" Binding="{Binding Path=SESSION[0].high}" /> -
嗨,西蒙。我已经申请了
SESSION[0].high,但它没有返回任何东西。 -
它肯定包含一个值吗?我创建了一个测试项目,并且对我的测试数据很有效。我将作为答案发布,以便您查看代码...
标签: c# wpf data-binding wpfdatagrid desktop-application