首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据网格内部的数据网格RowDetailsTemplate

数据网格内部的数据网格RowDetailsTemplate
EN

Stack Overflow用户
提问于 2013-12-05 18:21:45
回答 1查看 4.1K关注 0票数 1

我正在尝试创建一个数据集中分组的效果,而不必使用与datagrid一起可用的分组,因为这不允许我在标题行上显示列值,除非我“伪造”并自己制作所有列,正如我以前所做的那样。我有一个工作示例,在这个示例中,我可以获得一个数据集,以便在另一个datagrid的row细节词干板中填充数据。我的主要问题是,我注意到内部数据集不尊重我的一些属性,特别是FrozenColumnCount,当我移动外部数据格的滚动查看器时,它会移动内部数据集,但是没有冻结的列。

下面是一些代码,希望这将更好地演示我正在做的事情:

代码语言:javascript
复制
<DataGrid ItemsSource="{Binding DisplayRows}" AutoGenerateColumns="False" Grid.Row="1" FrozenColumnCount="1" >
        <DataGrid.RowDetailsTemplate >
            <DataTemplate>
                <DataGrid AutoGenerateColumns="False" FrozenColumnCount="1" ItemsSource="{Binding DataContext.DisplayRows, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}">
                    <DataGrid.Columns>
                        <DataGridTextColumn Binding="{Binding Timestamp, StringFormat=\{0:MMM dd\, yyyy HH:mm\}}" Header="Timestamp" Width="113" />
                        <DataGridTextColumn Header="HE1" Binding="{Binding Hours[0], StringFormat=\{0:#\,##0\}}" Width="50">
                            <DataGridTextColumn.CellStyle>
                                <Style TargetType="{x:Type DataGridCell}">
                                    <Style.Setters>
                                        <Setter Property="Background" Value="{Binding Backgrounds[0]}" />
                                        <Setter Property="TextBlock.TextAlignment" Value="Right" />
                                        <Setter Property="HorizontalAlignment" Value="Stretch" />
                                    </Style.Setters>
                                </Style>
                            </DataGridTextColumn.CellStyle>
                        </DataGridTextColumn>
                    </DataGrid.Columns>
                </DataGrid>
            </DataTemplate>
        </DataGrid.RowDetailsTemplate>
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Timestamp, StringFormat=\{0:MMM dd\, yyyy HH:mm\}}" Header="Timestamp" Width="120" />
            <DataGridTextColumn Header="HE1" Binding="{Binding Hours[0], StringFormat=\{0:#\,##0\}}" Width="50">
                <DataGridTextColumn.CellStyle>
                    <Style TargetType="{x:Type DataGridCell}">
                        <Style.Setters>
                            <Setter Property="Background" Value="{Binding Backgrounds[0]}" />
                            <Setter Property="TextBlock.TextAlignment" Value="Right" />
                            <Setter Property="HorizontalAlignment" Value="Stretch" />
                        </Style.Setters>
                    </Style>
                </DataGridTextColumn.CellStyle>
            </DataGridTextColumn>
         </DataGrid.Columns>
    </DataGrid>

我的实际项目有更多行,但这是简化的xml。这里有一些图片来展示我说的问题。

希望有人能帮我解决这个问题。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-06 04:46:28

我认为层次数据处理的最佳方法是使用本文的方法:http://blogs.perpetuumsoft.com/silverlight/how-to-turn-silverlight-datagrid-to-treegrid-in-15-minutes/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20407691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档