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>
后台代码:
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 = ; i < str1.Count(); i++)
{
int cd = + i;
dmList.Add(new DistrictModel() { Id = i + , Code = cd, Name = str1[i] });
#region 构造图斑数据
for (int j = ; j < str2.Count(); j++)
{
#region 生成随机图斑及面积个数并计算其值 #region 所有图斑个数
int AllNumber1 = rd0.Next(, );
#endregion 所有图斑个数_end #region 核查单位已核查图斑个数
//总共
int HCTureNumber1 = rd0.Next(, AllNumber1);
//已核查通过个数
int HCTruePassNumber1 = rd0.Next(, HCTureNumber1);
//已核查不通过个数
int HCTrueNoPassNumber1 = HCTureNumber1 - HCTruePassNumber1;
//通过率
string HCTruePassingRate1 = (Math.Round(((double)HCTruePassNumber1 / HCTureNumber1) * )) + "%";
#endregion 核查单位已核查图斑个数_end #region 核查单位已核查图斑个数
//总共
int JLTureNumber1 = rd0.Next(, AllNumber1);
//已核查通过个数
int JLTruePassNumber1 = rd0.Next(, JLTureNumber1);
//已核查不通过个数
int JLTrueNoPassNumber = JLTureNumber1 - JLTruePassNumber1;
//通过率
string JLTruePassingRate1 = (Math.Round(((double)JLTruePassNumber1 / JLTureNumber1) * )) + "%";
#endregion 核查单位已核查图斑个数_end #region 所有图斑面积
double AllArea1 = Math.Round((rd0.NextDouble() * ), );
double HCTrueArea1 = rd0.Next(, (int)AllArea1);
double JLTrueArea1 = rd0.Next(, (int)AllArea1);
#endregion #endregion
MSList.Add(new MapSpotModel()
{
Id = i + ,
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();
} }
}
第一个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;
}
} }
第二个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;
}
}
}
WPF DataGrid多表头/列头,多行头,合并单元格,一列占据多行的更多相关文章
- poi导出excel合并单元格(包括列合并、行合并)
1 工程所需jar包如下:commons-codec-1.5.jarcommons-logging-1.1.jarlog4j-1.2.13.jarjunit-3.8.1.jarpoi-3.9-2012 ...
- DataGridView合并单元格(一列或一行)
#region"合并单元格的测试(一列或一行)" // int?是搜索一种类型(可空类型),普通的int不能为null,而用int?,其值可以为null //private int ...
- Java导出Excel表,POI 实现合并单元格以及列自适应宽度(转载)
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...
- POI 实现合并单元格以及列自适应宽度
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...
- EasyUi 合并单元格占列显示
$("#TableContainer").datagrid({ url: '', method: "get&q ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ @ ...
- WPF DataGrid 合并单元格
在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Heade ...
- easyui DataGrid表体单元格跨列rowspan
最近做项目用到了jquery easyui,其中一组DataGrid做的报表是给客户大领导看的,客户要求报表样式跟他们原有系统的一模一样(如下图1). DataGrid样式好调,只是城市名称单元格跨行 ...
- DataGrid合并单元格(wpf)
在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Heade ...
随机推荐
- 5、Linux-Mac配置环境变量
1.安装jdk1.6,1.7,1.8 2.查看jdk安装目录 /usr/libexec/java_home -v 1.6 /usr/libexec/java_home -v 1.7 /usr/libe ...
- bzoj 4660 Crazy Rabbit——LIS解决“相交”限制的思想
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4660 想到一个点可以用它与圆的两个切点表示.并想到可以把切点极角排序,那么就变成环上的一些区 ...
- 关于 unsigned int 比较大小
unsigned int 的所有数都是 >=0 的.比如 unsigned int 的 -2 也是 > 0 的,所以不能用自己常用的 upt( ) { if( x<0 ) x+=mo ...
- Redis 键命令
1.设置key值 set name zhangsan 删除key del name 2. 判断key是否存在 exists a,返回1 说明存在: 0 表示不存在 3. 剩余过期时间 ttl 返回- ...
- C# 集合、字典、栈和队列
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 关于java多线程理解到集群分布式和网络设计的浅析
对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题, 另外关于java多线程的知识也是非常的多,本文中先介绍和说明一 ...
- C++进阶--代码复用 继承vs组合
//############################################################################ /* * 代码复用: 继承 vs 组合 * ...
- Javascript中的词法作用域、动态作用域、函数作用域和块作用域(四)
一.js中的词法作用域和动态作用域 词法作用域也就是在词法阶段定义的作用域,也就是说词法作用域在代码书写时就已经确定了. js中其实只有词法作用域,并没有动态作用域,this的执 ...
- mongodb并列查询,模糊查询
在mongodb的查询语句中可以这么写{“a”:$gt(1),"a":$lt(5)} 但这么查询出来的值会做单个条件匹配,最终结果为a大于1的集合+a小于5的集合 如果需要实现去交 ...
- 廖雪峰Java1-4数组操作-4多维数组
二维数组 二维数组就是元素为数组的数组 二维数组每个数组的长度不要求一样.比如 int[][] = { { 1, 2 }, { 3, 4, 5 }, { 6, 7, 8, 9 } } int[][] ...