【问题标题】:Help binding my silverlight datagrid帮助绑定我的 silverlight 数据网格
【发布时间】:2010-11-19 21:56:04
【问题描述】:

我有一个名为 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>

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

非常感谢您的帮助

【问题讨论】:

    标签: c# silverlight datagrid


    【解决方案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);
            }
        }
    }
    

    【讨论】:

    • 非常感谢 RowDetailsTemplate 的提示,这真的很有帮助,因为很多事件都有很多错误连接到它们,所以那会很棒。关于另一个问题,该事件包含一个包含错误实体的列表,其中包含许多其他值,所以问题是我应该如何提取这些数据。我想做类似的事情:
    • 我认为问题的解决方案是在绑定到 BuggItems 的 RowDetailsTemplate 中插入另一个数据网格。或者,如果您不希望数据显示在行中,您可以在部分类的另一个属性中聚合 ID,并将新列绑定到它。
    猜你喜欢
    • 2011-10-13
    • 2012-01-20
    • 2011-10-29
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多