RDLC报表使用
参考:https://www.cnblogs.com/kcir/p/11633749.html
1.VS2017及VS2019需要下载报表设计器,链接 : https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftRdlcReportDesignerforVisualStudio-18001;
2.根据表中需要展示的数据,创建数据集;

3.1.设计报表,添加数据源,数据集。

3.2.给控件绑定数据集

3.3.另外要想正确运行,文本方式打开设计器,修改以下内容

标题:<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">

3.4 后台代码:下面是之前一个项目的源代码
using Microsoft.Reporting.WinForms;
using OFZ.DataModel;
using OFZ.DBLib;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Windows.Forms;
namespace OFZ.ReportLib
{
public partial class HistoryReportControl : UserControl
{
#region Fields
private string m_DefenceId = string.Empty;
private string m_DefenceName = string.Empty;
private short m_PRCode = -1;
private DateTime m_StartTime = DateTime.Now;
private DateTime m_EndTime = DateTime.Now;
private List<DefenceInfo> m_DefenceInfos = new List<DefenceInfo>();
private AlarmType m_AlarmType = AlarmType.UNKNOWN;
private DefenceTypeEnum m_DefenceType = DefenceTypeEnum.UNKNOWN; //新增防区类型
private int m_Process = -1;
private string m_ProcessUser = string.Empty;
#endregion Fields
#region Property
public string DefenceId
{
set { m_DefenceId = value; }
}
public string DefenceName
{
set { m_DefenceName = value; }
}
public short PRCode
{
set { m_PRCode = value; }
}
public DateTime StartTime
{
set { m_StartTime = value; }
}
public DateTime EndTime
{
set { m_EndTime = value; }
}
public List<DefenceInfo> DefenceInfos
{
set { m_DefenceInfos = value; }
}
public AlarmType AlarmType
{
set { m_AlarmType = value; }
}
public DefenceTypeEnum DefenceType
{
set { m_DefenceType = value; }
}
public int Process
{
set { m_Process = value; }
}
public string ProcessUser
{
set { m_ProcessUser = value; }
}
public struct TimeDataSources
{
public string AlarmTime;
public int AlarmCount;
public string DefenceType;
}
#endregion Property
public HistoryReportControl()
{
InitializeComponent();
}
private void HistoryReportControl_Load(object sender, EventArgs e)
{
this.rv_History.LocalReport.DataSources.Clear();
SetAlarmDataSource();
//SetDefenceDataSource();
SetTimeDataSource();
ReportParameter[] paras = new ReportParameter[3];
paras[0] = new ReportParameter("DefenceName", m_DefenceName);
paras[1] = new ReportParameter("StartTime", string.Format("{0:yyyy-MM-dd}", m_StartTime));
paras[2] = new ReportParameter("EndTime", string.Format("{0:yyyy-MM-dd}", m_EndTime));
this.rv_History.LocalReport.SetParameters(paras);
this.rv_History.RefreshReport();
}
private void SetAlarmDataSource()
{
if (m_StartTime >= m_EndTime)
{
MessageBox.Show("日期选择有误,请检查!");
return;
}
DataTable DTAlarm = new DataTable();
DTAlarm.Columns.Add("AlarmTime", typeof(string));
DTAlarm.Columns.Add("DefenceId", typeof(string));
DTAlarm.Columns.Add("DefenceName", typeof(string));
DTAlarm.Columns.Add("DefenceType", typeof(string));
DTAlarm.Columns.Add("AlarmType", typeof(string));
DTAlarm.Columns.Add("PRCode", typeof(string));
DTAlarm.Columns.Add("Processed", typeof(string));
DTAlarm.Columns.Add("Operator", typeof(string));
DTAlarm.Columns.Add("Note", typeof(string));
DataTable myDataTable = AlarmDBHelper.Instance.GetAlarmDataTable(m_StartTime, m_EndTime, "", m_DefenceName, m_DefenceId, m_AlarmType, m_Process, m_ProcessUser, m_DefenceType);
for (int i = 0; i < myDataTable.Rows.Count; i++)
{
string strProcessed = myDataTable.Rows[i]["Processed"].ToString();
if (!string.IsNullOrEmpty(strProcessed) && Convert.ToBoolean(myDataTable.Rows[i]["Processed"]))
{
strProcessed = "已处理";
}
else
{
strProcessed = "未处理";
}
DTAlarm.Rows.Add(string.Format("{0:yyyy-MM-dd HH:mm:ss}", myDataTable.Rows[i]["AlarmTime"]),
myDataTable.Rows[i]["DefenceId"].ToString(),
myDataTable.Rows[i]["DefenceName"].ToString(),
DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)myDataTable.Rows[i]["DenfenceType"]),
DataModelHelper.GetAlarmTypeName((AlarmType)myDataTable.Rows[i]["AlarmType"]),
DataModelHelper.GetPRName((PRType)Convert.ToInt16(myDataTable.Rows[i]["PRCode"])),
strProcessed,
myDataTable.Rows[i]["Operator"].ToString(),
myDataTable.Rows[i]["Note"].ToString());
}
ReportDataSource rds = new ReportDataSource("DataSetAlarm", DTAlarm);
this.rv_History.LocalReport.DataSources.Add(rds);
}
private void SetTimeDataSource()
{
if (m_StartTime >= m_EndTime)
{
return;
}
DataTable DTTime = new DataTable();
DTTime.Columns.Add("AlarmTime", typeof(string));
DTTime.Columns.Add("AlarmCount", typeof(int));
DTTime.Columns.Add("DefenceType", typeof(string));
ObservableCollection<TimeDataSources> timeDataSources = new ObservableCollection<TimeDataSources>();
DataTable myDT = AlarmDBHelper.Instance.GetAlarmDataTable(m_StartTime, m_EndTime, "", m_DefenceName, m_DefenceId, m_AlarmType, m_Process, m_ProcessUser, m_DefenceType);
if (myDT != null)
{
int _count = 0;
TimeDataSources dataSources;
for (int i = 0; i < 24; i++)
{
//string _time= string.Format("{0:HH}", myDT.Rows[i]["AlarmTime"]) ;
#region 时间分段
switch (i)
{
case 0:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "00") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "0";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "00") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "0";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 1:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "01") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "1";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "01") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "1";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 2:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "02") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "2";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "02") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "2";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 3:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "03") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "3";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "03") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "3";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 4:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "04") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "4";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "04") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "4";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 5:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "05") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "5";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "05") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "5";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 6:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "06") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "6";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "06") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "6";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 7:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "07") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "7";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "07") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "7";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 8:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "08") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "8";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "08") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "8";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 9:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "09") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "9";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "09") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "9";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 10:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "10") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "10";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "10") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "10";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 11:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "11") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "11";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "11") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "11";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 12:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "12") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "12";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "12") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "12";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 13:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "13") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "13";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "13") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "13";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 14:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "14") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "14";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "14") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "14";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 15:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "15") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "15";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "15") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "15";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 16:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "16") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "16";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "16") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "16";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 17:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "17") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "17";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "17") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "17";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 18:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "18") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "18";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "18") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "18";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 19:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "19") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "19";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "19") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "19";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 20:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "20") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "20";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "20") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "20";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 21:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "21") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "21";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "21") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "21";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 22:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "22") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "22";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "22") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "22";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
case 23:
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 1 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "23") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "23";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)1);
timeDataSources.Add(dataSources);
}
{
_count = (from L in myDT.AsEnumerable() where (L.Field<int>("DenfenceType") == 2 && string.Format("{0:HH}", L.Field<DateTime>("AlarmTime")) == "23") select L.Field<int>("DenfenceType")).Count();
dataSources.AlarmTime = "23";
dataSources.AlarmCount = _count;
dataSources.DefenceType = DataModelHelper.GetDenfenceTypeName((DefenceTypeEnum)2);
timeDataSources.Add(dataSources);
}
break;
default:
break;
#endregion 时间分段
}
}
foreach (var dataSource in timeDataSources)
{
DTTime.Rows.Add(dataSource.AlarmTime, dataSource.AlarmCount, dataSource.DefenceType);
}
}
else
{
DTTime.Rows.Add("0", 0, "");
DTTime.Rows.Add("1", 0, "");
DTTime.Rows.Add("2", 0, "");
DTTime.Rows.Add("3", 0, "");
DTTime.Rows.Add("4", 0, "");
DTTime.Rows.Add("5", 0, "");
DTTime.Rows.Add("6", 0, "");
DTTime.Rows.Add("7", 0, "");
DTTime.Rows.Add("8", 0, "");
DTTime.Rows.Add("9", 0, "");
DTTime.Rows.Add("10", 0, "");
DTTime.Rows.Add("11", 0, "");
DTTime.Rows.Add("12", 0, "");
DTTime.Rows.Add("13", 0, "");
DTTime.Rows.Add("14", 0, "");
DTTime.Rows.Add("15", 0, "");
DTTime.Rows.Add("16", 0, "");
DTTime.Rows.Add("17", 0, "");
DTTime.Rows.Add("18", 0, "");
DTTime.Rows.Add("19", 0, "");
DTTime.Rows.Add("20", 0, "");
DTTime.Rows.Add("21", 0, "");
DTTime.Rows.Add("22", 0, "");
DTTime.Rows.Add("23", 0, "");
}
ReportDataSource rds = new ReportDataSource("ChartDataSet1", DTTime);
this.rv_History.LocalReport.DataSources.Add(rds);
}
}
}
3.5初始化代码
private void InitializeComponent()
{
this.rv_History = new Microsoft.Reporting.WinForms.ReportViewer();
this.SuspendLayout();
//
// rv_History
//
this.rv_History.Dock = System.Windows.Forms.DockStyle.Fill;
this.rv_History.LocalReport.ReportEmbeddedResource = "OFZ.ReportLib.HistoryReport.HistoryReport.rdlc";
this.rv_History.Location = new System.Drawing.Point(0, 0);
this.rv_History.Name = "rv_History";
this.rv_History.Size = new System.Drawing.Size(809, 451);
this.rv_History.TabIndex = 0;
//
// HistoryReportControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.rv_History);
this.Name = "HistoryReportControl";
this.Size = new System.Drawing.Size(809, 451);
this.Load += new System.EventHandler(this.HistoryReportControl_Load);
this.ResumeLayout(false);
}

浙公网安备 33010602011771号