zoukankan      html  css  js  c++  java
  • WPF:ListView 分组合并

    • CollectionViewSource 绑定的是从数据库取出的数据ListBind
    • 以DeptName为分组依据
    •     <Window.Resources>
              <CollectionViewSource x:Key="Data"  Source="{Binding ListBind}">
                  <CollectionViewSource.GroupDescriptions>
                      <PropertyGroupDescription PropertyName="DeptName"/>
                  </CollectionViewSource.GroupDescriptions>
              </CollectionViewSource>
          </Window.Resources>
    • 以DeptName为分组依据,扩展列头显示科室名称DeptName,
    • TextBlock绑定的数据为DeptName的Name,而不是 Text="{Binding Path=DeptName}"
    • <ListView Name="list_Reg"  ItemsSource="{Binding Source={StaticResource Data}}" Style="{StaticResource ListViewStyle}">
                      <!--分组合并style-->
                      <ListView.GroupStyle>
                          <GroupStyle>
                              <GroupStyle.ContainerStyle>
                                  <Style TargetType="{x:Type GroupItem}">
                                      <Setter Property="Margin" Value="0,0,0,5"/>
                                      <Setter Property="Template">
                                          <Setter.Value>
                                              <ControlTemplate TargetType="{x:Type GroupItem}">
                                                  <Expander IsExpanded="True" BorderBrush="#FF1975A0" BorderThickness="2">
                                                      <Expander.Header>
                                                          <DockPanel>
                                                              <TextBlock FontWeight="Bold" Text="{Binding Path=Name}" 
                                                                     Margin="5,0,0,0" Width="auto"/>
      </DockPanel> </Expander.Header> <Expander.Content> <ItemsPresenter/> </Expander.Content> </Expander> </ControlTemplate> </Setter.Value> </Setter> </Style> </GroupStyle.ContainerStyle> </GroupStyle> </ListView.GroupStyle>
    • 后来看到xml的分组
    • http://www.cnblogs.com/liuyazhou/archive/2009/09/10/1563886.html
    • <Window.Resources>
              <XmlDataProvider x:Key="OKData" XPath="/Info">
                  <x:XData>
                      <Info xmlns="">
                          <Item ID="12345" Name="Book1" Price="$32.05" Author="author1" Catalog="Business"/>
                          <Item ID="23456" Name="Book2" Price="$32.05" Author="author2" Catalog="Language"/>
                          <Item ID="34567" Name="Book3" Price="$32.05" Author="author3" Catalog="Business"/>
                          <Item ID="67891" Name="Book4" Price="$32.05" Author="author4" Catalog="Business"/>
                          <Item ID="78910" Name="Book5" Price="$32.05" Author="author5" Catalog="Language"/>
                          <Item ID="89101" Name="Book6" Price="$32.05" Author="author6" Catalog="Business"/>
                          <Item ID="91011" Name="Book7" Price="$32.05" Author="author7" Catalog="Business"/>
                          <Item ID="10111" Name="Book8" Price="$32.05" Author="author8" Catalog="Business"/>                 
                      </Info>
                  </x:XData>
              </XmlDataProvider>
              <CollectionViewSource
                  x:Key='src' Source="{Binding Source={StaticResource OKData},XPath=Item}">
                  
                  <CollectionViewSource.GroupDescriptions>
                      <PropertyGroupDescription PropertyName="@Catalog"/>
                  </CollectionViewSource.GroupDescriptions>
              </CollectionViewSource>
          </Window.Resources>
          
          <Grid>
              <ListView Name="listViewTask" ItemsSource='{Binding Source={StaticResource src}}'
                        BorderThickness="0" SelectionChanged="listViewTask_SelectionChanged" >
                  <ListView.GroupStyle>
                      <GroupStyle>
                          <GroupStyle.ContainerStyle>
                              <Style TargetType="{x:Type GroupItem}">
                                  <Setter Property="Margin" Value="0,0,0,5"/>
                                  <Setter Property="Template">
                                      <Setter.Value>
                                          <ControlTemplate TargetType="{x:Type GroupItem}">
                                              
                                              <Expander IsExpanded="True" BorderBrush="Red" BorderThickness="2">
                                                  <Expander.Header>
                                                      <DockPanel>
                                                          <TextBlock FontWeight="Bold" Text="{Binding Path=Name}"
                                                                     Margin="5,0,0,0" Width="100"/>
                                                          <TextBlock FontWeight="Bold" Text="{Binding Path=ItemCount}"/>
                                                      </DockPanel>
                                                  </Expander.Header>
                                                  <Expander.Content>
                                                      <ItemsPresenter/>
                                                  </Expander.Content>
                                              </Expander>
                                          </ControlTemplate>
                                      </Setter.Value>
                                  </Setter>
                              </Style>
                          </GroupStyle.ContainerStyle>
                      </GroupStyle>
                  </ListView.GroupStyle>
                  
                  <ListView.View>
                      <GridView>
                          <GridViewColumn Header="ID" DisplayMemberBinding="{Binding XPath=@ID}" Width="100"/>
                          <GridViewColumn Header="Name" DisplayMemberBinding="{Binding XPath=@Name}" Width="140"/>
                          <GridViewColumn Header="Price" DisplayMemberBinding="{Binding XPath=@Price}" Width="100"/>
                          <GridViewColumn Header="Author" DisplayMemberBinding="{Binding XPath=@Author}" Width="140"/>
                      </GridView>
                  </ListView.View>
              </ListView>
  • 相关阅读:
    运行带参数的python脚本
    调用其他python脚本文件里面的类和方法
    快速学会在JSP中使用EL表达式
    理解maven项目的pom.xml文件中,<scope>标签的作用——作用域以及依赖传递
    理解JavaWeb项目中的路径问题——相对路径与绝对路径
    hdu4417(Super Mario)—— 二分+划分树
    hdu4325-Flowers-树状数组+离散化
    poj3321-Apple Tree(DFS序+树状数组)
    数据的离散化
    POJ2676 – Sudoku(数独)—DFS
  • 原文地址:https://www.cnblogs.com/YunGy/p/3324614.html
Copyright © 2011-2022 走看看