using System;
using System.Drawing;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using DataDynamics.ActiveReports;
using DataDynamics.ActiveReports.Document;
namespace FPER
{
///
/// Summary description for rptAlarmLogPost.
///
public partial class rptAlarmLogPost : DataDynamics.ActiveReports.ActiveReport
{
private int index;
private ArrayList details;
private int tleReceiverId = 0;
private string tleFromToDate = "";
private string tleAlarmType = "전체";
private string tleAlarmLocation = "전체";
public int ReceiverId { set { this.tleReceiverId = value; } }
public string FromToDate { set { this.tleFromToDate = value; } }
public string AlarmType { set { this.tleAlarmType = value; } }
public string AlarmLocation { set { this.tleAlarmLocation = value; } }
public ArrayList Details { set { this.details = value; } }
public rptAlarmLogPost()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
}
///
/// DataInitialize Event
/// ActiveReports event that is called during the report initalization
/// procedure. (after .Run is called on your report object) Normally used
/// with unbound reporting to establish an active connection to your data
/// to be used with the FetchData event, or to setup a bound report with a
/// dynamic database connection at runtime.
/// This is also where you should include any Fields values that you need to
/// add for unbound reporting.
///
private void rptAlarmLogPost_DataInitialize(object sender, System.EventArgs eArgs)
{
try
{
txtTleReceiverId.Text = this.tleReceiverId.ToString();
txtTleFromToDate.Text = this.tleFromToDate;
txtTleAlarmType.Text = this.tleAlarmType;
txtTleAlarmLocation.Text = this.tleAlarmLocation;
this.Fields.Add("No");
this.Fields.Add("AlarmDate");
this.Fields.Add("AlarmType");
this.Fields.Add("AlarmLocation");
//this.Fields.Add("ConfirmYes");
//this.Fields.Add("ConfirmDate");
// Init some test data:
//this.details = new ArrayList();
//this.details.Add(new ReportDetail("A", 10.00, 2));
//this.details.Add(new ReportDetail("B", 0.12, 1));
//this.details.Add(new ReportDetail("C", 5.92, 3));
this.index = -1;
}
catch (Exception ex)
{
Util.UErrorMessage(ex, 0, 0);
}
}
///
/// FetchData Event
/// ActiveReports event that is called during the report run once per
/// row from the dataset. This event is usually only used in unbound reporting,
/// you would set the Fields collection value to the value from your dataset and
/// advance the next row. When you run out of data, you should set the
/// FetchEventArgs argument's EOF field to true to tell the report that the report
/// is done with the data.
///
private void rptAlarmLogPost_FetchData(object sender, DataDynamics.ActiveReports.ActiveReport.FetchEventArgs eArgs)
{
try
{
if (this.index >= this.details.Count - 1)
{
eArgs.EOF = true;
return;
}
else
{
eArgs.EOF = false;
}
AlarmLogPostDetail row = (AlarmLogPostDetail)this.details[++this.index];
this.Fields["No"].Value = row.no;
this.Fields["AlarmDate"].Value = row.alarmDate;
this.Fields["AlarmType"].Value = row.alarmType;
this.Fields["AlarmLocation"].Value = row.alarmLocation;
//this.Fields["ConfirmYes"].Value = row.confirmYes;
//this.Fields["ConfirmDate"].Value = row.confirmDate;
}
catch (Exception ex)
{
Util.UErrorMessage(ex, 0, 0);
}
}
}
public class AlarmLogPostDetail
{
public int no;
public string alarmDate;
public string alarmType;
public string alarmLocation;
//public string confirmYes;
//public string confirmDate;
public AlarmLogPostDetail(int no, string alarmDate, string alarmType, string alarmLocation/*, string confirmYes, string confirmDate*/)
{
try
{
this.no = no;
this.alarmDate = alarmDate;
this.alarmType = alarmType;
this.alarmLocation = alarmLocation;
//this.confirmYes = confirmYes;
//this.confirmDate = confirmDate;
}
catch (Exception ex)
{
Util.UErrorMessage(ex, 0, 0);
}
}
}
}