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="">
<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 分组合并的更多相关文章
- WPF ListView 分组 Grouping
在Resource里定义数据源和分组字段: <CollectionViewSource x:Key="listData" Source="{Binding Cate ...
- WPF ListView 选中问题
WPF ListView 选中问题 摘自:http://www.cnblogs.com/BBHor/archive/2013/04/28/VisualTreeHelper-PreviewMouseD ...
- [WPF]ListView点击列头排序功能实现
[转] [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...
- Anroid ListView分组和悬浮Header实现
Anroid ListView分组和悬浮Header实现 分类: Android2014-01-27 12:26 6585人阅读 评论(13) 收藏 举报 listviewheadersection分 ...
- C# WPF DataGrid 分组(Group)
原文:C# WPF DataGrid 分组(Group) 效果如图,每个列的名字可以自定义.我随便用了”File”和”Attachment Name”. 在Window的Resources里面设置S ...
- 利用 groupby apply list 分组合并字符
利用 groupby apply list 分组合并字符 因为需要对数据进行分组和合并字符,找到了以下方法. 有点类似 SQL 的 Group BY. import pandas as pd impo ...
- WPF ListView 居中显示
原文:WPF ListView 居中显示 今天遇到的问题: 方法1:设置GridViewColumn的ActualWidth <ListView > <ListView.View&g ...
- WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画
原文:WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画 利用WPF的ListView控件实现类似于Winform中DataGrid行背景色交替变换的效果,同 ...
- 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 ...
随机推荐
- 大商创 sql追踪 用户注册
用户注册sql追踪 用户注册数据表 sql语句分析 ', 'wzd222@qq.com', 'addf92072794a4b668f70815672ba5c8') 主要成分: user_name,mo ...
- Oracle的日期时间范围查询
Oracle日期时间范围查询 Sql代码 /* 日期时间范围查询 */ ---------- 创建日期时间测试表-------------------------------------------- ...
- 正则表达式获取字符串中的img标签中的url链接
废话不多说直接看代码 JavaScript中的代码: var re = /src=\"([^\"]*?)\"/i; var arr = str.match(re); if ...
- docker images之间相互通信 link
同一个host上的两个container 首先启动一个nginx. container起名叫netease_nginx docker run --detach --name netease_nginx ...
- 《30天自制操作系统》14_day_学习笔记
harib11a--harib11c: 继续测试性能:我们在harib10h中进行了定时链表结构的改进“消除了移位处理”.下面我们设定490个定时器(它们都被设定启动50天才超时)来测试一下改进的效果 ...
- 《30天自制操作系统》12_day_学习笔记
harib09a: 定时器:(Timer)每隔一段时间,会向CPU发送一个中断.这样CPU不用记住每一条指令的执行时间.没有定时器很多指令CPU都很难执行.例如HLT指令,这个指令的执行时间不是个固定 ...
- Java中String类的方法及说明
String : 字符串类型 一. String sc_sub = new String(c,3,2); // String sb_copy = new String(sb) ...
- jQuery简介及语法
jQuery引入 jQuery语法
- Windows便笺 快捷键
便笺快捷键 便笺快捷键多数与Office相同 Ctrl+N 新建 Alt+F4 关闭便笺,下次打开内容还在 Ctrl+D 删除 Ctrl+E 居中 Ctrl+R 右对齐 Ctrl+L 左对齐 Ctrl ...
- Couchbase学习记录
Couchbase是membase的升级版,membase与memcache是同一家公司出的,Couchbase包含了memcache的功能. 从其官网上下载最新的版本安装即可.安装成功后会弹出设置页 ...