zoukankan      html  css  js  c++  java
  • WPF DataGrid 主从表 数据绑定方式 南京酷得软件

    昨天在网上搜了一下午没有看到一个关于WPF DataGrid主从表数据绑定的示例,但是我坚信这个简单的功能肯定是支持的,经研究问题解决。

    现把相关方法共享下,给现在还在郁闷的兄弟们一点参考。重点在于定义DataGrid的“RowDetailsTemplate”属性。而绑定的数据对象只要定义从表的集合Children就可以了。

    前台定义如下:

     <DataGrid Grid.Row="0" Margin="0,0,0,0" VerticalAlignment="Top" AutoGenerateColumns="False" >
                                    
    <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 class 区域连阴雨过程历史对比
        {
            
    public int 出现站点数 { getset; }
            
    public DateTime 开始日期 { getset; }
            
    public DateTime 结束日期 { getset; }
            
    public int 最长持续天数 { getset; }
            
    public string 最长持续天数出现站点 { getset; }
            
    public double 过程最大雨量 { getset; }
            
    public string 过程最大雨量出现站点 { getset; }
            
    public double 日最大雨量 { getset; }
            
    public string 日最大雨量出现站点 { getset; }
            
    public List<连阴雨过程信息> Children { getset; }
        }
    公司网站: http://www.codersoft.cn 专业开发: 气象软件、监狱网上购物系统、两法衔接平台
  • 相关阅读:
    概率论
    Python3爬虫爬取淘宝商品数据
    利用Python数据分析基础
    Linux安装MATLAB2016a
    python3爬取高清壁纸(2)
    python3爬取高清壁纸(1)
    Git使用基础
    Python3基础
    正则表达式的使用基础
    Nginx配置多域名代理
  • 原文地址:https://www.cnblogs.com/sucsy/p/2067747.html
Copyright © 2011-2022 走看看