zoukankan      html  css  js  c++  java
  • wpf-DataGrid 分组

    C# 数据:

    namespace _1.DataGridStudy
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
         ObservableCollection<Student> studentList;
         ICollectionView vm;
            public MainWindow()
            {
                InitializeComponent();
                studentList = new ObservableCollection<Student>();
                studentList.Add(new Student() { 学号 = 1, 姓名 = "Alex", 班级 ="二班"});
                studentList.Add(new Student() { 学号 = 2, 姓名 = "Peter", 班级 = "一班" });
                studentList.Add(new Student() { 学号 = 3, 姓名 = "Zack", 班级 = "三班" });
                studentList.Add(new Student() { 学号 = 4, 姓名 = "TJ", 班级 = "二班" });
                studentList.Add(new Student() { 学号 = 5, 姓名 = "Jack", 班级 = "一班" });
                studentList.Add(new Student() { 学号 = 6, 姓名 = "Jacky", 班级 = "三班" });
                studentList.Add(new Student() { 学号 = 7, 姓名 = "James", 班级 = "一班" });
    
                dg1.ItemsSource = studentList;
                vm = CollectionViewSource.GetDefaultView(studentList);
                vm.GroupDescriptions.Add(new PropertyGroupDescription("班级"));
                //vm.SortDescriptions.Add(new SortDescription("学号",ListSortDirection.Descending));
            }
    
    
        }
        public class Student
        { 
            public int 学号 { get; set; }
            public string 姓名 { get; set; }
            public string 班级 { get; set; }
        }

    xaml:

     <Grid>
    
            <DataGrid Name="dg1" AutoGenerateColumns="False" HorizontalAlignment="Left" VerticalAlignment="Top" CanUserAddRows="False" Margin="0">
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="学号" Binding="{Binding 学号}" />
                        <DataGridTextColumn Header="姓名" Binding="{Binding 姓名}"  />
                        <DataGridTextColumn Header="班级" Binding="{Binding 班级}"  />
                    </DataGrid.Columns>
                    <DataGrid.GroupStyle>
                        <GroupStyle >
                            <GroupStyle.ContainerStyle>
                                <Style TargetType="{x:Type GroupItem}">
    
                                    <Setter Property="Template">
                                        <Setter.Value>
                                            <ControlTemplate TargetType="{x:Type GroupItem}">
                                                <Expander IsExpanded="True">
                                                    <Expander.Header>
                                                        <StackPanel Orientation="Horizontal">
                                                            <TextBlock Text="{Binding Name}" />
                                                            <TextBlock Text="    数量:"/>
                                                            <TextBlock Text="{Binding ItemCount}"/>
                                                        </StackPanel>
                                                    </Expander.Header>
                                                    <ItemsPresenter/>
                                                </Expander>
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </GroupStyle.ContainerStyle>
                        </GroupStyle>
                    </DataGrid.GroupStyle>
                </DataGrid>
            
           
        </Grid>
  • 相关阅读:
    Java实现web页面内容抓取
    Java写入文件的几种方法及性能对比
    Java实现导出excel
    win10系统安装VMware虚拟机软件以及linux系统
    oracle11g安装教程
    oracle怎么建立本地连接
    工厂模式
    计算一个字符串中每个字符出现的次数
    MySql多表查询
    如何查看MySql的sql语句性能
  • 原文地址:https://www.cnblogs.com/dangnianxiaoqingxin/p/12899574.html
Copyright © 2011-2022 走看看