using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
using System.Windows.Forms;
|
|
namespace M423project
|
{
|
public partial class FormDownTime : Form
|
{
|
public FormDownTime()
|
{
|
InitializeComponent();
|
LoadInfo();
|
}
|
|
public void LoadInfo()
|
{
|
gridA.AutoGenerateColumns = false;
|
gridB.AutoGenerateColumns = false;
|
DateTime now = DateTime.Now;
|
dtBegin.Value = now;
|
dtEnd.Value = now;
|
DownTimeData downTimeData = new DownTimeData();
|
var list = downTimeData.GetEnumList(typeof(DownTimeType));
|
list.Insert(0, new EnumEntity { Value = 0, Name = "全部", Description = "全部" });
|
list.RemoveAt(list.Count - 1);
|
cbType.DataSource = list;
|
gridA.Columns["BeginTime"].DefaultCellStyle.Format="yyyy-MM-dd HH:mm:ss";
|
gridA.Columns["EndTime"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
|
gridB.Columns["BeginTimeB"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
|
gridB.Columns["EndTimeB"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
|
}
|
|
private void btnQuery_Click(object sender, EventArgs e)
|
{
|
DownTimeData downTimeData = new DownTimeData();
|
DataTable dt = new DataTable();
|
switch (tabControl1.SelectedIndex)
|
{
|
case 0:
|
dt = downTimeData.GetDownTimeList(((EnumEntity)cbType.SelectedValue).Value, dtBegin.Value, dtEnd.Value);
|
//if (dt.Rows.Count > 0)
|
//{
|
// int totalSec = 0;
|
// foreach (DataRow row in dt.Rows)
|
// {
|
// totalSec += Convert.ToInt32(row["TimeNeedSec"]);
|
// }
|
// dt.Rows.Add();
|
// int rowCount = dt.Rows.Count;
|
// dt.Rows[rowCount - 1]["Row"] = "合计";
|
// dt.Rows[rowCount - 1]["TimeNeedSec"] = totalSec.ToString();
|
// dt.Rows[rowCount - 1]["TimeNeedMin"] = (totalSec / 60.00).ToString();
|
//}
|
gridA.DataSource = dt;
|
break;
|
|
case 1:
|
dt = downTimeData.GetDownTimeList((int)DownTimeType.NoAction, dtBegin.Value, dtEnd.Value);
|
gridB.DataSource = dt;
|
break;
|
|
}
|
|
}
|
|
private void btnExport_Click(object sender, EventArgs e)
|
{
|
switch (tabControl1.SelectedIndex)
|
{
|
case 0:
|
DataGridViewToExcel(gridA);
|
break;
|
|
case 1:
|
DataGridViewToExcel(gridB);
|
break;
|
|
}
|
|
}
|
|
private void DataGridViewToExcel(DataGridView dgv)
|
{
|
SaveFileDialog dlg = new SaveFileDialog();
|
dlg.Filter = "Execl files (*.csv)|*.csv";
|
dlg.FilterIndex = 0;
|
dlg.RestoreDirectory = true;
|
dlg.CreatePrompt = true;
|
dlg.Title = "导出到Excel文件";
|
|
if (dlg.ShowDialog() == DialogResult.OK)
|
{
|
Stream myStream;
|
myStream = dlg.OpenFile();
|
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.UTF8);
|
string columnTitle = "";
|
try
|
{
|
|
for (int i = 0; i < dgv.ColumnCount; i++)
|
{
|
if (i > 0)
|
{
|
columnTitle += ",";
|
}
|
columnTitle += dgv.Columns[i].HeaderText;
|
}
|
sw.WriteLine(columnTitle);
|
|
|
for (int j = 0; j < dgv.Rows.Count; j++)
|
{
|
string columnValue = "";
|
for (int k = 0; k < dgv.Columns.Count; k++)
|
{
|
if (k > 0)
|
{
|
columnValue += ",";
|
}
|
if (dgv.Rows[j].Cells[k].Value == null)
|
columnValue += "";
|
else
|
columnValue += dgv.Rows[j].Cells[k].Value.ToString().Trim();
|
}
|
sw.WriteLine(columnValue);
|
}
|
sw.Close();
|
myStream.Close();
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show(e.ToString());
|
}
|
finally
|
{
|
sw.Close();
|
myStream.Close();
|
}
|
}
|
}
|
}
|
}
|