WPF DataGrid 主从表 数据绑定方式
昨天在网上搜了一下午没有看到一个关于WPF DataGrid主从表数据绑定的示例,但是我坚信这个简单的功能肯定是支持的,经研究问题解决。
现把相关方法共享下,给现在还在郁闷的兄弟们一点参考。重点在于定义DataGrid的“RowDetailsTemplate”属性。而绑定的数据对象只要定义从表的集合Children就可以了。
前台定义如下:
<DataGrid.Columns> <DataGridTextColumn Header="出现连阴雨站数" IsReadOnly="True" Width="auto" Binding="{Binding Path=出现站点数}"/>
<DataGridTextColumn Header="开始日期" IsReadOnly="True" Width="auto" Binding="{Binding Path=开始日期, StringFormat=yyyy-MM-dd}"/>
<DataGridTextColumn Header="结束日期" IsReadOnly="True" Width="auto" Binding="{Binding Path=结束日期, StringFormat=yyyy-MM-dd}"/>
<DataGridTextColumn Header="最长持续天数" IsReadOnly="True" Width="auto" Binding="{Binding Path=最长持续天数}"/>
<DataGridTextColumn Header="最长持续天数出现站点" IsReadOnly="True" Width="auto" Binding="{Binding Path=最长持续天数出现站点}"/>
<DataGridTextColumn Header="过程最大雨量" IsReadOnly="True" Width="auto" Binding="{Binding Path=过程最大雨量}"/>
<DataGridTextColumn Header="过程最大雨量出现站点" IsReadOnly="True" Width="auto" Binding="{Binding Path=过程最大雨量出现站点}"/>
<DataGridTextColumn Header="日最大雨量" IsReadOnly="True" Width="auto" Binding="{Binding Path=日最大雨量}"/>
<DataGridTextColumn Header="日最大雨量出现站点" IsReadOnly="True" Width="auto" Binding="{Binding Path=日最大雨量出现站点}"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid Grid.Row="0" Margin="0,0,0,0" ItemsSource="{Binding Path=Children}" VerticalAlignment="Top" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="站名" IsReadOnly="True" Width="80" Binding="{Binding Path=站名}"/>
<DataGridTextColumn Header="站台号" IsReadOnly="True" Width="80" Binding="{Binding Path=站台号}"/>
<DataGridTextColumn Header="开始日期" IsReadOnly="True" Width="auto" Binding="{Binding Path=开始日期, StringFormat=yyyy-MM-dd}"/>
<DataGridTextColumn Header="结束日期" IsReadOnly="True" Width="auto" Binding="{Binding Path=结束日期, StringFormat=yyyy-MM-dd}"/>
<DataGridTextColumn Header="持续天数" IsReadOnly="True" Width="auto" Binding="{Binding Path=连续降水日数}"/>
<DataGridTextColumn Header="总雨量" IsReadOnly="True" Width="auto" Binding="{Binding Path=总降水量}"/>
<DataGridTextColumn Header="一日最大雨量" IsReadOnly="True" Width="auto" Binding="{Binding Path=最大降水量}"/>
<DataGridTextColumn Header="日照时数" IsReadOnly="True" Width="auto" Binding="{Binding Path=无降水日照时数}"/>
</DataGrid.Columns>
</DataGrid></DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
数据对象定义如下:
{
public int 出现站点数 { get; set; }
public DateTime 开始日期 { get; set; }
public DateTime 结束日期 { get; set; }
public int 最长持续天数 { get; set; }
public string 最长持续天数出现站点 { get; set; }
public double 过程最大雨量 { get; set; }
public string 过程最大雨量出现站点 { get; set; }
public double 日最大雨量 { get; set; }
public string 日最大雨量出现站点 { get; set; }
public List<连阴雨过程信息> Children { get; set; }
}
转载于:https://www.cnblogs.com/sucsy/archive/2011/06/02/2067747.html
WPF DataGrid 主从表 数据绑定方式相关推荐
- wpf DataGrid主从表,DataGrid嵌套DataGrid主从结构rowdetailtemplate实现,绑定DataTable数据源,使用Visual Studio 2017
wpf DataGrid主从表,DataGrid嵌套DataGrid主从结构rowdetailtemplate实现,绑定DataTable数据源,使用Visual Studio 2017 . 子表绑定 ...
- WPF DataGrid:解决排序、ScrollIntoView、刷新和焦点问题
目录 介绍 第一种方法:记住选定的行,刷新DataGrid,再次选择行 最终方法:使用OneWay绑定,避免调用Refresh() 改进1:使ScrollIntoView()起作用 改进2:将选定的行 ...
- 在GridControl表格控件中实现多层级主从表数据的展示
在一些应用场景中,我们需要实现多层级的数据表格显示,如常规的二级主从表数据展示,甚至也有多个层级展示的需求,那么我们如何通过DevExpress的GridControl控表格件实现这种业务需求呢?本篇 ...
- C# WPF DataGrid控件的详细介绍和推荐一些样式设计
前面介绍过使用DataGrid简单绑定一个数据模型,接着介绍DataGrid的一些详细操作. 参考:C# WPF DataGrid的使用 定制DataGrid控件基本外观属性 RowBackgroun ...
- dbisam数据库主从表结构的使用方法
要使用DBISAM数据库主从表结构,需用到下列控件: 一个TDBISAMTable或者TDBISAMQuery控件,命名为tblMaster或者qryMaster, 一个(或多个)TDBISAMTab ...
- WPF DataGrid控件的使用
WPF DataGrid控件的使用 下面以一个例子说明DataGrid控件的使用方法: 一.程序框架 使用了MVVM Light框架 二.主要代码部分(使用MVVM Light框架): 1.主窗体xa ...
- DaleCloud(原NFine)介绍:使用easyui实现主从表提交(单据业务)
目录 1.Form页面的Html代码 2.前端JS实现将DataGrid中的明细数据打包提交 3.后台接收提交数据的代码 4.Application业务中的保存方法 前言 很多使用DaleCloud( ...
- oracle主从关系表查询,Oracle 主从表联合查询解决方法
Oracle 主从表联合查询 表A id type name 1 E AA 2 F 表B id Aid name 1 2 BB 2 2 ...
- Oracle优化之表连接方式
Oracle优化之表连接方式 在Oracle数据库中,两个表之间的表连接方法有排序合并连接.嵌套循环连接.哈希连接和笛卡尔连接四种 1.排序合并连接(sort merge join) 排序合并连接是一 ...
最新文章
- 数据结构实验之图论二:图的深度遍历(DFS)
- phing用户手册第四章Getting Started译文
- LeetCode 1219. 黄金矿工(回溯)
- 月薪2w的00后女财务,靠这套报表模板征服了老板
- 苹果Mac图片清晰度增强软件:Topaz Sharpen AI
- 在服务器上log4net没写日志
- 万稞pw80线切割编程软件_模具设计编程培训哪些内容?
- Android 开源项目分类汇总
- 机器翻译和自动译后编辑
- 几乎所有食物的英文翻译
- solidity投票(ballot)合约
- Aruco物体定位(追踪)在UE4中的实现
- zabbix报错排错大全
- 【C语言】通讯录——源代码
- Origin 中做图超出页面的调整办法
- 网易云linux字体太小,网易云音乐客户端和百度网盘在Deepin下字体显示太小的解决...
- 改进euler方法 c语言,科学网—计算方法:Euler法及其改进 - 张江敏的博文
- 干货分享!CynosDB for PostgreSQL 架构浅析
- 2022R2移动式压力容器充装考试试题模拟考试平台操作
- 数据库学习-连接/join
热门文章
- 查看显卡信号_既然大家说装了win10,就不用鲁大师监测显卡温度,为什么呢
- VB中的format格式化函数
- 英语总结系列(十八):六月一波三折的英语
- XML:体验学习的乐趣之XML总结
- 特斯拉好事连连:自动驾驶新硬件性能提升10倍,两名新董事昨晚上任,股价涨5.6%...
- 谷歌新旗舰Pixel 3让AI帮你接电话:你是谁?为什么来电?
- 干货 | 深度学习模型超参数搜索实用指南
- 一头盔一电极,MIT机器人读心完毕
- 净利润大涨三倍、股价飙升,百度新上了一个秘密武器:强化学习
- python 正则匹配手机号