设置DataGrid的分组后,不会显示任何数据行

时间:2013-03-10 20:36:44

标签: c# wpf xaml datagrid

我正在创建一个程序,它将显示某个资源所做的应用程序。我打算在数据网格中显示所有应用程序,并根据分配应用程序的月份和年份进行分组。我收集并尝试了可能代码,但我只是设法显示分组标题,但内容没有显示。

以下是我的代码:

<Window.Resources>
    <Style x:Key="GroupHeaderStyle" TargetType="{x:Type GroupItem}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type GroupItem}">
                    <Expander x:Name="EXPAND" IsExpanded="False"
                              Background="White"
                              Foreground="Black">
                    <Expander.Header>
                         <TextBlock Text="{Binding Name}"/>
                         </Expander.Header>
                    </Expander>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
     </Style>
</Window.Resources>

                    <DataGrid.Columns>
                        <DataGridTextColumn Binding="{Binding Path=AppID}" Header="App ID" Width="Auto" />
                        <DataGridTextColumn Binding="{Binding Path=ApplicationName}" Header="App Name" Width="0.30*" />
                        <DataGridTextColumn Binding="{Binding Path=Status}" Header="Status" Width="0.10*" />
                        <DataGridTextColumn Binding="{Binding Path=Category}" Header="Category" Width="Auto" />
                        <DataGridTextColumn Binding="{Binding Path=PackageType}" Header="Package Type" Width="0.10*" />
                    </DataGrid.Columns>


                    <DataGrid.GroupStyle>
                        <GroupStyle ContainerStyle="{StaticResource GroupHeaderStyle}">
                            <GroupStyle.Panel>
                                <ItemsPanelTemplate>
                                    <DataGridRowsPresenter/>
                                </ItemsPanelTemplate>
                            </GroupStyle.Panel>
                        </GroupStyle>
                    </DataGrid.GroupStyle>

                </DataGrid>

代码背后:

private void LoadTracker()
        {
            myMSIPID.procGetMSITrackByPID(dsApp.procGetMSITrackByPID,PID);

            ICollectionView cView = CollectionViewSource.GetDefaultView(dsApp.procGetMSITrackByPID);

            cView.GroupDescriptions.Add(new PropertyGroupDescription("MonthYear"));

            dgAppTracker.DataContext = dsApp.procGetMSITrackByPID;
            dgAppTracker.ItemsSource = cView;

        }

有谁可以告诉为什么我的程序中没有出现任何行?谢谢。

0 个答案:

没有答案