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 ...
随机推荐
- 关于 Android 5.0 原生系统网络图标上的感叹号问题解决方法
解决方案 adb shell settings put global captive_portal_server g.cn 参考 关于 android 5.0 网络图标上的感叹号及其解决办法
- Oracle 存储过程异常处理
Oracle 存储过程异常处理 1.异常的优点 如果没有异常,在程序中,应当检查每个命令的成功还是失败,如 BEGIN SELECT ... -- check for ’no data f ...
- angular懒加载的一些坑
写在前面 最近在工作中接触到angular模块化打包加载的一些内容,感觉中间踩了一些坑,在此标记一下. 项目背景: 项目主要用到angularJs作为前端框架,项目之前发布的时候会把所有的前端脚本打包 ...
- android实现程序开机自启动
在安卓中,想要实现app开机自动启动,需要实现拦截广播android.permission.RECEIVE_BOOT_COMPLETED,并且需要使用静态注册广播的方法(即在AndroidManife ...
- 大型网站演化(转载 http://homeway.me/2014/12/10/think-about-distributed-clusters/)
0x01.大型网站演化 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 集群主要分为:高可用集群(High Availability Clu ...
- Android 5.1 open data flow 数据开启流程
首先我们来看看下面的关系图: 底层Settings.apk 在Settings -> Data Usage Summary中的某个SIM tab下开启数据开关 android/packages/ ...
- 在Repeater中嵌套使用Repeater
在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...
- 【过程改进】 windows下jenkins常见问题填坑
没有什么高深的东西,1 2天的时间大多数人都能自己摸索出来,这里将自己遇到过的问题分享出来避免其他同学再一次挖坑. 目录 1. 主从节点 2. Nuget自动包还原 3. powershell部署 4 ...
- visual Sdudio 快捷键
项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示Solution Explorer(解决方案资源管理器) Shift + Alt+ C = 添加 ...
- notepad++代码自动补全功能
可以代码自动补全功能,默认他是没有开启这个功能的,在首选项->备份与自动完成 里面有自动完成这一个设置,可以设置单词补全,也可以设置函数补全,这样写代码就快多了