WPF DataGrid多表頭/列頭,多行頭,合並單元格,一列占據多行


 

先上效果圖:

思路說明:這是兩個DataGrid,沒有嵌套,位置和高度保持一致,在加上ScrollViewer滾動條,這就像是在一個DataGrid中。

缺點:

因為最外層有透明的Border,所以沒有辦法去點擊任何一個單元格,也選中不了。

也可以將最層的Border去掉,但是這樣一來,鼠標便不能在窗體的任意位置進行滾動。選中單元格的時候不會選擇到兩個Datagrid的行或單元格。

總體來說,只能用來查詢數據,要是有選中單元格進行的操作,就不行了。

XAml:

<Window x:Class="PracticeProject.Achievement"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:PracticeProject"
        mc:Ignorable="d"
        Title="Achievement" Height="881" Width="1330" Loaded="Window_Loaded">
    <Window.Resources>
        <Style x:Key="MSAll" TargetType="DataGridColumnHeader">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Grid>
                            <!--模板綁定-->

                            <Grid Width="166" Height="74">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*" />
                                    <RowDefinition Height="*" />
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*" />
                                    <ColumnDefinition Width="*" />
                                </Grid.ColumnDefinitions>

                                <!--設置標題名稱-->
                                <Label Content="所有圖斑" FontFamily="微軟雅黑" FontWeight="Black" FontSize="14" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.ColumnSpan="2" />
                                <!--設置間隔線 水平中2-->
                                <Rectangle Fill="#ccc" Height="1" Visibility="Visible" VerticalAlignment="Top" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="3" />
                                <!--設置間隔線 垂直中1-->
                                <Rectangle Fill="#ccc" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center"/>
                                <Label Content="個數" FontFamily="微軟雅黑" FontSize="14" Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Center" />
                                <!--設置間隔線 垂直右2-->
                                <Rectangle Fill="#ccc" Width="1" Visibility="Visible" Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Right"/>
                                <Label Content="面積" FontFamily="微軟雅黑" FontSize="14" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center" />
                                <!--設置間隔線 水平下2-->
                                <Rectangle Fill="#ccc" Height="1" Visibility="Visible" VerticalAlignment="Bottom" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="3" />
                            </Grid>

                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <Style x:Key="CPNMSTrue" TargetType="DataGridColumnHeader">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Grid>
                            <!--模板綁定-->

                            <Grid Width="420" Height="74">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*" />
                                    <RowDefinition Height="*" />
                                </Grid.RowDefinitions>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*" />
                                    <ColumnDefinition Width="*" />
                                    <ColumnDefinition Width="*" />
                                    <ColumnDefinition Width="*" />
                                    <ColumnDefinition Width="*" />
                                </Grid.ColumnDefinitions>

                                <!--設置標題名稱-->
                                <Label FontFamily="微軟雅黑" FontSize="14" FontWeight="Black" Content="核查單位已核查圖斑" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.ColumnSpan="5" />
                                <!--設置間隔線-->
                                <Rectangle Fill="#ccc" Height="1" Visibility="Visible" Grid.Row="0" Grid.RowSpan="2" Grid.ColumnSpan="5" />
                                <Rectangle Fill="#ccc" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" />
                                <Label FontFamily="微軟雅黑"  FontSize="14" Content="個數" Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Center" />

                                <Rectangle Fill="#ccc" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" />
                                <Label FontFamily="微軟雅黑" FontSize="14" Content="面積" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center" />

                                <Rectangle Fill="#ccc" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" />
                                <Label FontFamily="微軟雅黑" FontSize="14" Content="通過個數" Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" />

                                <Rectangle Fill="#ccc" Width="1" Visibility="Visible" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" />
                                <Label FontFamily="微軟雅黑" FontSize="14" Content="不通過個數" Grid.Row="2" Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center" />

                                <Rectangle Fill="#ccc" Width="1" Visibility="Visible" Grid.Row="0" Grid.RowSpan="2" Grid.Column="4" HorizontalAlignment="Right" />
                                <Label FontFamily="微軟雅黑" FontSize="14" Content="通過率" Grid.Row="2" Grid.Column="4" VerticalAlignment="Center" HorizontalAlignment="Center" />
                                <Rectangle Fill="#ccc" Height="1" Visibility="Visible" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="5" VerticalAlignment="Bottom"/>
                            </Grid>

                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>

    <!--ScrollChanged="ScrollViewer_ScrollChanged"-->
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
        <Grid  Width="1305" MinHeight="881">

            <Border Width="1296" Height="60" HorizontalAlignment="Left" VerticalAlignment="Top">
                <Label Content="工作成果統計" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontFamily="微軟雅黑" FontSize="18"></Label>
            </Border>

            <!--#region datagrid1-->
            <DataGrid Name="dategrid1" Width="156" HorizontalAlignment="Left" GridLinesVisibility="None" Background="#fff" BorderBrush="Transparent" AutoGenerateColumns="False" CanUserAddRows="False" IsReadOnly="True" SelectionMode="Single" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" Margin="0,60,0,0" Panel.ZIndex="5">

                <!--#region 表頭-->
                <DataGrid.Style>
                    <Style TargetType="DataGrid">
                        <Setter Property="Background" Value="#E7F3FF"></Setter>
                        <Setter Property="HeadersVisibility" Value="Column"></Setter>
                    </Style>
                </DataGrid.Style>
                <!--#endregion-->

                <!--#region 數據網格的列標題樣式屬性-->
                <DataGrid.ColumnHeaderStyle>
                    <!--樣式類型:DataGridColumnHeader(數據網格列標題)-->
                    <Style TargetType="{x:Type DataGridColumnHeader}">
                        <Setter Property="Height" Value="74"/>
                        <Setter Property="Background" Value="#E1F0FF"/>
                        <Setter Property="HorizontalContentAlignment" Value="Center"/>
                        <Setter Property="FontFamily" Value="微軟雅黑"></Setter>
                        <Setter Property="FontSize" Value="14"></Setter>
                        <Setter Property="BorderBrush" Value="#ccc"></Setter>
                        <Setter Property="BorderThickness">
                            <Setter.Value>
                                <Thickness Top="1" Right="1" Bottom="1"></Thickness>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="FontWeight" Value="Black"></Setter>
                    </Style>
                </DataGrid.ColumnHeaderStyle>
                <!--#endregion-->

                <DataGrid.RowStyle>
                    <Style TargetType="DataGridRow">
                        <Setter Property="Height" Value="259" />
                        <Setter Property="BorderThickness">
                            <Setter.Value>
                                <Thickness Right="2"></Thickness>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="BorderBrush" Value="#ccc"></Setter>
                        <Style.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter Property="Foreground" Value="Red"/>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </DataGrid.RowStyle>

                <!--#region DataGrid的CellStyle屬性(數據表格的單元格樣式-->
                <DataGrid.CellStyle >
                    <Style TargetType="DataGridCell">
                        <Setter Property="BorderThickness">
                            <Setter.Value>
                                <Thickness Bottom="1" Right="1"></Thickness>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="BorderBrush" Value="#ccc"></Setter>
                        <!--樣式的觸發器-->
                        <Style.Triggers>
                            <!--是否選中是觸發-->
                            <Trigger Property="IsSelected" Value="True">
                                <!--觸發:背景-->
                                <Setter Property="Background">
                                    <!--設置觸發背景的值-->
                                    <Setter.Value>
                                        <!--Color:顏色,Opacity:透明度-->
                                        <SolidColorBrush Color="AntiqueWhite" Opacity="0.9"/>
                                    </Setter.Value>
                                </Setter>
                                <!--設置字體顏色(Foreground):紅色(Red)-->
                                <Setter Property="Foreground" Value="DarkMagenta"></Setter>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </DataGrid.CellStyle>
                <!--#endregion-->

                <DataGrid.Columns>

                    <!--#region 行政區代碼-->
                    <DataGridTemplateColumn x:Name="DistrictCode" Header="行政區代碼" Width="*">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
                                    <Label Content="{Binding Code}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"></Label>
                                </StackPanel>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <!--#endregion-->

                    <!--#region 行政區名稱-->
                    <DataGridTemplateColumn x:Name="DistrictName" Header="行政區名稱" Width="*">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
                                    <Label Content="{Binding Name}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"></Label>
                                </StackPanel>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <!--#endregion-->

                </DataGrid.Columns>

            </DataGrid>
            <!--#endregion-->

            <!--#region datagrid2-->
            <DataGrid Width="1140" Name="dategrid2" HorizontalAlignment="Left" Margin="154,60,0,0" GridLinesVisibility="None" Background="#fff" BorderBrush="Transparent" AutoGenerateColumns="False" CanUserAddRows="False" IsReadOnly="True" SelectionMode="Single" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden">

                <!--#region 表頭-->
                <DataGrid.Style>
                    <Style TargetType="DataGrid">
                        <Setter Property="Background" Value="#E7F3FF"></Setter>
                        <Setter Property="HeadersVisibility" Value="Column"></Setter>
                    </Style>
                </DataGrid.Style>
                <!--#endregion-->

                <!--#region 數據網格的列標題樣式屬性-->
                <DataGrid.ColumnHeaderStyle>
                    <!--樣式類型:DataGridColumnHeader(數據網格列標題)-->
                    <Style TargetType="{x:Type DataGridColumnHeader}">
                        <Setter Property="Height" Value="74"/>
                        <Setter Property="BorderThickness">
                            <Setter.Value>
                                <Thickness Left="1" Top="1" Right="1" Bottom="1"></Thickness>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="Background" Value="#E1F0FF"/>
                        <Setter Property="BorderBrush" Value="#ccc"></Setter>
                        <Setter Property="HorizontalContentAlignment" Value="Center"/>
                        <Setter Property="FontFamily" Value="微軟雅黑"></Setter>
                        <Setter Property="FontWeight" Value="Black"></Setter>
                        <Setter Property="FontSize" Value="14"></Setter>
                    </Style>
                </DataGrid.ColumnHeaderStyle>
                <!--#endregion-->

                <DataGrid.RowStyle>
                    <Style TargetType="DataGridRow">
                        <Setter Property="Height" Value="37" />
                        <Setter Property="BorderBrush" Value="#ccc"></Setter>
                        <Setter Property="BorderThickness">
                            <Setter.Value>
                                <Thickness></Thickness>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </DataGrid.RowStyle>

                <!--#region DataGrid的CellStyle屬性(數據表格的單元格樣式-->
                <DataGrid.CellStyle >
                    <Style TargetType="DataGridCell">
                        <Setter Property="BorderThickness">
                            <Setter.Value>
                                <Thickness Bottom="1" Right="1"></Thickness>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="BorderBrush" Value="#ccc"></Setter>
                        <!--樣式的觸發器-->
                        <Style.Triggers>
                            <!--是否選中是觸發-->
                            <Trigger Property="IsSelected" Value="True">
                                <!--觸發:背景-->
                                <Setter Property="Background">
                                    <!--設置觸發背景的值-->
                                    <Setter.Value>
                                        <!--Color:顏色,Opacity:透明度-->
                                        <SolidColorBrush Color="AntiqueWhite" Opacity="0.9"/>
                                    </Setter.Value>
                                </Setter>
                                <!--設置字體顏色(Foreground):紅色(Red)-->
                                <Setter Property="Foreground" Value="DarkMagenta"></Setter>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </DataGrid.CellStyle>
                <!--#endregion-->

                <DataGrid.Columns>

                    <!--#region 圖斑類型方法2:放入datagrid-->
                    <!--<DataGridTemplateColumn x:Name="datacol" Header="圖斑類型" Width="130">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>

                            <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
                                <Label Content="{Binding DistrictModels.Code}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"></Label>
                            </StackPanel>

                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>-->
                    <!--#endregion-->

                    <!--#region 圖斑類型-->
                    <DataGridTemplateColumn x:Name="map_spotType" Header="圖斑類型" Width="130">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>

                                <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
                                    <Label Content="{Binding Name}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"></Label>
                                </StackPanel>

                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <!--#endregion-->

                    <!--#region 所有圖斑-->
                    <DataGridTemplateColumn Header="sec" HeaderStyle="{StaticResource MSAll}">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>

                                <!--數據內容-->
                                <StackPanel Orientation="Horizontal">
                                    <Label Content="{Binding AllNumber}" Width="82" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <Label Content="{Binding AllArea}" Width="80" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                </StackPanel>

                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <!--#endregion-->

                    <!--#region 核查單位已核查圖斑-->
                    <DataGridTemplateColumn Header="sec" HeaderStyle="{StaticResource CPNMSTrue}">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>

                                <!--數據內容-->
                                <StackPanel Orientation="Horizontal">
                                    <!--個數-->
                                    <Label Content="{Binding HCTureNumber}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--面積-->
                                    <Label Content="{Binding HCTrueArea}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--通過個數-->
                                    <Label Content="{Binding HCTruePassNumber}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--不通過個數-->
                                    <Label Content="{Binding HCTrueNoPassNumber}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--通過率-->
                                    <Label Content="{Binding HCTruePassingRate}" Width="80" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                </StackPanel>

                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <!--#endregion-->

                    <!--#region 監理單位已核查圖斑-->
                    <DataGridTemplateColumn Header="sec" HeaderStyle="{StaticResource CPNMSTrue}">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>

                                <!--數據內容-->
                                <StackPanel Orientation="Horizontal">
                                    <!--個數-->
                                    <Label Content="{Binding JLTureNumber}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--面積-->
                                    <Label Content="{Binding JLTrueArea}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--通過個數-->
                                    <Label Content="{Binding JLTruePassNumber}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--不通過個數-->
                                    <Label Content="{Binding JLTrueNoPassNumber}" Width="83" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                    <Rectangle Fill="#ccc" VerticalAlignment="Stretch" Margin="0" Width="1" />
                                    <!--通過率-->
                                    <Label Content="{Binding JLTruePassingRate}" Width="80" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
                                </StackPanel>

                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                    <!--#endregion-->

                </DataGrid.Columns>

            </DataGrid>
            <!--#endregion-->

            <Rectangle Canvas.Left ="20" Canvas.Top ="30" Grid.Row="0" Grid.Column="0" Panel.ZIndex="1" Opacity="0" Fill ="White" Stroke ="Black" x:Name ="mainrectangle" />
        </Grid>
    </ScrollViewer>

</Window>
View Code

后台代碼:

using PracticeProject.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace PracticeProject
{
    /// <summary>
    /// Achievement.xaml 的交互邏輯
    /// </summary>
    public partial class Achievement : Window
    {
        public Achievement()
        {
            InitializeComponent();
        }
        List<DistrictModel> dmList = new List<Model.DistrictModel>();
        List<MapSpotModel> MSList = new List<Model.MapSpotModel>();
        public void SelectMS()
        {
            #region 構造行政區數據
            string[] str1 = { "XX縣", "ZZ縣", "CC縣", "VV縣" };
            string[] str2 = { "QQQ", "WWW", "AAA", "SSS", "EEE", "DDD", "RRR" };
            #endregion 構造行政區數據_end
            //隨機數
            Random rd0 = new Random();
            for (int i = 0; i < str1.Count(); i++)
            {
                int cd = 101 + i;
                dmList.Add(new DistrictModel() { Id = i + 1, Code = cd, Name = str1[i] });
                #region 構造圖斑數據
                for (int j = 0; j < str2.Count(); j++)
                {
                    #region 生成隨機圖斑及面積個數並計算其值

                    #region 所有圖斑個數
                    int AllNumber1 = rd0.Next(1, 3000);
                    #endregion 所有圖斑個數_end

                    #region 核查單位已核查圖斑個數
                    //總共
                    int HCTureNumber1 = rd0.Next(1, AllNumber1);
                    //已核查通過個數
                    int HCTruePassNumber1 = rd0.Next(1, HCTureNumber1);
                    //已核查不通過個數
                    int HCTrueNoPassNumber1 = HCTureNumber1 - HCTruePassNumber1;
                    //通過率
                    string HCTruePassingRate1 = (Math.Round(((double)HCTruePassNumber1 / HCTureNumber1) * 100)) + "%";
                    #endregion 核查單位已核查圖斑個數_end

                    #region 核查單位已核查圖斑個數
                    //總共
                    int JLTureNumber1 = rd0.Next(1, AllNumber1);
                    //已核查通過個數
                    int JLTruePassNumber1 = rd0.Next(1, JLTureNumber1);
                    //已核查不通過個數
                    int JLTrueNoPassNumber = JLTureNumber1 - JLTruePassNumber1;
                    //通過率
                    string JLTruePassingRate1 = (Math.Round(((double)JLTruePassNumber1 / JLTureNumber1) * 100)) + "%";
                    #endregion 核查單位已核查圖斑個數_end

                    #region 所有圖斑面積
                    double AllArea1 = Math.Round((rd0.NextDouble() * 1000), 2);
                    double HCTrueArea1 = rd0.Next(1, (int)AllArea1);
                    double JLTrueArea1 = rd0.Next(1, (int)AllArea1);
                    #endregion

                    #endregion 
                    MSList.Add(new MapSpotModel()
                    {
                        Id = i + 1,
                        Name = str2[j],
                        Code = cd,
                        AllNumber = AllNumber1,
                        AllArea = AllArea1,
                        HCTureNumber = HCTureNumber1,
                        HCTrueArea = HCTrueArea1,
                        HCTruePassNumber = HCTruePassNumber1,
                        HCTrueNoPassNumber = HCTrueNoPassNumber1,
                        HCTruePassingRate = HCTruePassingRate1,
                        JLTureNumber = JLTureNumber1,
                        JLTrueArea = JLTrueArea1,
                        JLTruePassNumber = JLTruePassNumber1,
                        JLTrueNoPassNumber = JLTrueNoPassNumber,
                        JLTruePassingRate = JLTruePassingRate1,
                        DistrictModels = new DistrictModel() { Id = i, Code = cd, Name = str2[j] }
                    });
                }
                #endregion 構造圖斑數據_end
            }
            dategrid1.ItemsSource = dmList;
            dategrid2.ItemsSource = MSList;
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            SelectMS();
        }


    }
}
View Code

第一個Model:

/// <summary>
    /// 行政區表
    /// </summary>
    public class DistrictModel
    {
        /// <summary>
        /// 主鍵
        /// </summary>
        private int id;
        /// <summary>
        /// 代碼
        /// </summary>
        private int code;
        /// <summary>
        /// 名稱
        /// </summary>
        private string name;

        public int Id
        {
            get
            {
                return id;
            }

            set
            {
                id = value;
            }
        }

        /// <summary>
        /// 代碼
        /// </summary>
        public int Code
        {
            get
            {
                return code;
            }

            set
            {
                code = value;
            }
        }

        /// <summary>
        /// 名稱
        /// </summary>
        public string Name
        {
            get
            {
                return name;
            }

            set
            {
                name = value;
            }
        }

    }
View Code

第二個Model:

 /// <summary>
    ////// </summary>
    public class MapSpotModel
    {
        private int id;
        //名稱
        private string name;
        //代碼
        private int code;
        //個數
        private int allNumber;
        //面積
        private double allArea;

        //個數
        private int hCTureNumber;
        //面積
        private double hCTrueArea;
        //通過個數
        private int hCTruePassNumber;
        //不通過個數
        private int hCTrueNoPassNumber;
        //通過率
        private string hCTruePassingRate;

        //個數
        private int jLTureNumber;
        //面積
        private double jLTrueArea;
        //通過個數
        private int jLTruePassNumber;
        //不通過個數
        private int jLTrueNoPassNumber;
        //通過率
        private string jLTruePassingRate;

        private DistrictModel districtModels;
        public int Id
        {
            get
            {
                return id;
            }

            set
            {
                id = value;
            }
        }
        /// <summary>
        /// 名稱
        /// </summary>
        public string Name
        {
            get
            {
                return name;
            }

            set
            {
                name = value;
            }
        }

        /// <summary>
        /// 代碼
        /// </summary>
        public int Code
        {
            get
            {
                return code;
            }

            set
            {
                code = value;
            }
        }

        /// <summary>
        /// 個數
        /// </summary>
        public int AllNumber
        {
            get
            {
                return allNumber;
            }

            set
            {
                allNumber = value;
            }
        }

        /// <summary>
        /// 面積
        /// </summary>
        public double AllArea
        {
            get
            {
                return allArea;
            }

            set
            {
                allArea = value;
            }
        }

        /// <summary>
        /// 個數
        /// </summary>
        public int HCTureNumber
        {
            get
            {
                return hCTureNumber;
            }

            set
            {
                hCTureNumber = value;
            }
        }

        /// <summary>
        /// 面積
        /// </summary>
        public double HCTrueArea
        {
            get
            {
                return hCTrueArea;
            }

            set
            {
                hCTrueArea = value;
            }
        }

        /// <summary>
        /// 通過個數
        /// </summary>
        public int HCTruePassNumber
        {
            get
            {
                return hCTruePassNumber;
            }

            set
            {
                hCTruePassNumber = value;
            }
        }

        /// <summary>
        /// 不通過個數
        /// </summary>
        public int HCTrueNoPassNumber
        {
            get
            {
                return hCTrueNoPassNumber;
            }

            set
            {
                hCTrueNoPassNumber = value;
            }
        }

        /// <summary>
        /// 通過率
        /// </summary>
        public string HCTruePassingRate
        {
            get
            {
                return hCTruePassingRate;
            }

            set
            {
                hCTruePassingRate = value;
            }
        }

        /// <summary>
        /// 個數
        /// </summary>
        public int JLTureNumber
        {
            get
            {
                return jLTureNumber;
            }

            set
            {
                jLTureNumber = value;
            }
        }

        /// <summary>
        /// 面積
        /// </summary>
        public double JLTrueArea
        {
            get
            {
                return jLTrueArea;
            }

            set
            {
                jLTrueArea = value;
            }
        }

        /// <summary>
        /// 通過個數
        /// </summary>
        public int JLTruePassNumber
        {
            get
            {
                return jLTruePassNumber;
            }

            set
            {
                jLTruePassNumber = value;
            }
        }

        /// <summary>
        /// 不通過個數
        /// </summary>
        public int JLTrueNoPassNumber
        {
            get
            {
                return jLTrueNoPassNumber;
            }

            set
            {
                jLTrueNoPassNumber = value;
            }
        }

        /// <summary>
        /// 監理單位已審核圖斑-通過率
        /// </summary>
        public string JLTruePassingRate
        {
            get
            {
                return jLTruePassingRate;
            }

            set
            {
                jLTruePassingRate = value;
            }
        }

        public DistrictModel DistrictModels
        {
            get
            {
                return districtModels;
            }

            set
            {
                districtModels = value;
            }
        }
    }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM