帮助绑定我的silverlight数据网格

时间:2010-11-19 21:56:05

标签: c# silverlight datagrid

alt text

我有一个名为Incident的实体,正如您在图片中看到的那样,它包含一个包含多个错误的列表。

然后我有一个数据网格,我将所有事件的列表连接到:

        List<ExtendedIncident> allIncidents;
                myGrid.ItemsSource = allIncidents;

现在我绑定了每个事件中的一些值,就像在xaml代码中一样:

<sdk:DataGrid AutoGenerateColumns="False" Name="grid" SelectionMode="Single" SelectionChanged="grid_SelectionChanged">
        <sdk:DataGrid.Columns>
            <sdk:DataGridTemplateColumn Header="Incident">
                <sdk:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <HyperlinkButton Content="{Binding CallId}" Click="HyperlinkButton_Click"></HyperlinkButton>
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellTemplate>
            </sdk:DataGridTemplateColumn>
            <sdk:DataGridTextColumn Header="Beskrivnig" Binding="{Binding Description}"></sdk:DataGridTextColumn>
            <sdk:DataGridTextColumn Header="Beskrivnig" Binding="{Binding Status}"></sdk:DataGridTextColumn>
        </sdk:DataGrid.Columns>

我现在的问题是,我想添加一些列,这些列显示来自错误的一些数据,这些数据在同一行中是相关的(存储在事件列表中)。如何从事件中的错误列表中显示数据?

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

使用RowDetailsTemplate:

<sdk:DataGrid x:Name="dataGrid1" Height="400" IsReadOnly="True" >
    <sdk:DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <sdk:DataGrid ItemsSource={Binding BuggItems}/>
        </DataTemplate>
    </sdk:DataGrid.RowDetailsTemplate>
</sdk:DataGrid>

或者是聚合存储在列表中的所有项目的属性(如果ID是字符串,则在示例下面)。

public partial class Incident
{
   public string IDs
    {
        get
        {
            return BuggItems.Aggregate((a,b) => a + "," + b);
        }
    }
}