• 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="">
    <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="" Name="Book1" Price="$32.05" Author="author1" Catalog="Business"/>
    <Item ID="" Name="Book2" Price="$32.05" Author="author2" Catalog="Language"/>
    <Item ID="" Name="Book3" Price="$32.05" Author="author3" Catalog="Business"/>
    <Item ID="" Name="Book4" Price="$32.05" Author="author4" Catalog="Business"/>
    <Item ID="" Name="Book5" Price="$32.05" Author="author5" Catalog="Language"/>
    <Item ID="" Name="Book6" Price="$32.05" Author="author6" Catalog="Business"/>
    <Item ID="" Name="Book7" Price="$32.05" Author="author7" Catalog="Business"/>
    <Item ID="" 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="" 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="">
    <Expander.Header>
    <DockPanel>
    <TextBlock FontWeight="Bold" Text="{Binding Path=Name}"
    Margin="5,0,0,0" Width=""/>
    <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=""/>
    <GridViewColumn Header="Name" DisplayMemberBinding="{Binding XPath=@Name}" Width=""/>
    <GridViewColumn Header="Price" DisplayMemberBinding="{Binding XPath=@Price}" Width=""/>
    <GridViewColumn Header="Author" DisplayMemberBinding="{Binding XPath=@Author}" Width=""/>
    </GridView>
    </ListView.View>
    </ListView>

WPF:ListView 分组合并的更多相关文章

  1. WPF ListView 分组 Grouping

    在Resource里定义数据源和分组字段: <CollectionViewSource x:Key="listData" Source="{Binding Cate ...

  2. WPF ListView 选中问题

    WPF ListView 选中问题  摘自:http://www.cnblogs.com/BBHor/archive/2013/04/28/VisualTreeHelper-PreviewMouseD ...

  3. [WPF]ListView点击列头排序功能实现

    [转]   [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...

  4. Anroid ListView分组和悬浮Header实现

    Anroid ListView分组和悬浮Header实现 分类: Android2014-01-27 12:26 6585人阅读 评论(13) 收藏 举报 listviewheadersection分 ...

  5. C# WPF DataGrid 分组(Group)

    原文:C# WPF DataGrid 分组(Group) 效果如图,每个列的名字可以自定义.我随便用了”File”和”Attachment Name”.  在Window的Resources里面设置S ...

  6. 利用 groupby apply list 分组合并字符

    利用 groupby apply list 分组合并字符 因为需要对数据进行分组和合并字符,找到了以下方法. 有点类似 SQL 的 Group BY. import pandas as pd impo ...

  7. WPF ListView 居中显示

    原文:WPF ListView 居中显示 今天遇到的问题: 方法1:设置GridViewColumn的ActualWidth <ListView > <ListView.View&g ...

  8. WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画

    原文:WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画 利用WPF的ListView控件实现类似于Winform中DataGrid行背景色交替变换的效果,同 ...

  9. WPF listview item mouse enter/over popup

    This is because the routing strategy of the Loaded event is Direct, which means that the routed even ...

随机推荐

  1. awk实现按照某个字段排序

    awk 'BEGIN{ FS="|"} { ary[$14,NR]=$0} END{ nrw=asorti(ary, newary) for(i=1;i<=nrw;i++) ...

  2. html+css+javascript实现列表循环滚动示例代码

    使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内 ...

  3. 存储过程:当基站ID大于1000的时候,把ID通过存储过程插入表,然后处理

    不推荐这么弄,没办法,项目逼到这了,以后尽量避免这样的需求发生! CREATE OR REPLACE PROCEDURE insert_tempStation_proc(v_instr in clob ...

  4. c/c++ 数据结构 链表插入数据代码(一)

    链表插入数据,有两种方法,链表头定义为指针. 1.指针传递 #include <stdio.h> #include <stdlib.h> typedef struct LNod ...

  5. C++ DateTime 结构

    OS:Win7 ,Tools:VS2015 DateTime.h #pragma once struct DateTime { public: unsigned Year; // years sinc ...

  6. OpenWrt——神奇的路由系统

    鉴于最近大家对这个系统比较感兴趣而且疑问很多所以本渣就整理下我对这个系统的理解和最实用的802.1x认证的理解.还望大家多多互相交流. 如果您时间紧张直接看最后的步骤,时间充裕的请仔细阅读,理解. O ...

  7. JSP-14- 常用集合类和接口

    List接口 List接口与实现类是容量可变的列表,可按索引访问集合中的元素,是有序的集合. Arraylist是以 array方式实现的List,允许快速随机存取,相当于LinkedList 不适合 ...

  8. Openstack的项目管理方案

    openstack作为云的解决方案,必须对某个用户,项目具有资源限制,不能无限制使用资源. 配置 在/etc/nova/nova.conf中,有 quota_driver=nova.quota.DbQ ...

  9. iOS使用textfield注意的细节

    一般做登录界面或者要填写表之类的页面会经常使用到textfield.使用很简单,但是其实他有很多小的处理细节,这回让你显得有经验,交互性很好.在这里呢,我就直接拿stroyboard中的截图来说. c ...

  10. 【转】Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If

    转载地址:http://fanshuyao.iteye.com/blog/1695482 在eclipse启动tomcat时遇到超时45秒的问题: Server Tomcat v7.0 Server ...